krz/domain-dig

an ios app for DNS & SSL analysis

clone: git clone https://gitbay.org/krz/domain-dig.git

b5d67f42b7f7e009eb60a80857a306414117969f

unsigned

author: Christian Cleberg <hello@cleberg.net> · 2026-07-20T19:08:09Z

test: add StoreKit configuration for local IAP testing

Adds DomainDig.storekit mirroring the App Store Connect setup: one
subscription group with Pro+ at level 1 and Pro at level 2, using the
corrected product IDs.

Wires it into the Run action so purchases resolve locally against
StoreKit instead of the App Store, and disables the
DOMAIN_DIG_FORCE_PRO_PLUS launch argument, which bypasses StoreKit
entirely and would mask whether the purchase path works.

Prices in the configuration are local-testing placeholders and do not
need to match App Store Connect.
 DomainDig.storekit                                 | 135 +++++++++++++++++++++
 .../xcshareddata/xcschemes/DomainDig.xcscheme      |   5 +-
 2 files changed, 139 insertions(+), 1 deletion(-)

diff --git a/DomainDig.storekit b/DomainDig.storekit
new file mode 100644
index 0000000..f7fa64e
--- /dev/null
+++ b/DomainDig.storekit
@@ -0,0 +1,135 @@
+{
+  "identifier" : "A1B2C3D4",
+  "nonRenewingSubscriptions" : [
+
+  ],
+  "products" : [
+
+  ],
+  "settings" : {
+    "_applicationInternalID" : "6763610682",
+    "_developerTeamID" : "",
+    "_failTransactionsEnabled" : false,
+    "_lastSynchronizedDate" : 0,
+    "_locale" : "en_US",
+    "_storefront" : "USA",
+    "_storeKitErrors" : [
+
+    ]
+  },
+  "subscriptionGroups" : [
+    {
+      "id" : "20250720",
+      "localizations" : [
+
+      ],
+      "name" : "DomainDig Pro",
+      "subscriptions" : [
+        {
+          "adHocOffers" : [
+
+          ],
+          "codeOffers" : [
+
+          ],
+          "displayPrice" : "49.99",
+          "familyShareable" : true,
+          "groupNumber" : 1,
+          "internalID" : "2000000001",
+          "introductoryOffer" : null,
+          "localizations" : [
+            {
+              "description" : "Everything in Pro, plus ownership history, DNS history, extended subdomains, domain pricing, and reputation data.",
+              "displayName" : "DomainDig Pro+ (Annually)",
+              "locale" : "en_US"
+            }
+          ],
+          "productID" : "domaindig.proplus.annually",
+          "recurringSubscriptionPeriod" : "P1Y",
+          "referenceName" : "DomainDig Pro+ (Annually)",
+          "subscriptionGroupID" : "20250720",
+          "type" : "RecurringSubscription"
+        },
+        {
+          "adHocOffers" : [
+
+          ],
+          "codeOffers" : [
+
+          ],
+          "displayPrice" : "4.99",
+          "familyShareable" : true,
+          "groupNumber" : 1,
+          "internalID" : "2000000002",
+          "introductoryOffer" : null,
+          "localizations" : [
+            {
+              "description" : "Everything in Pro, plus ownership history, DNS history, extended subdomains, domain pricing, and reputation data.",
+              "displayName" : "DomainDig Pro+ (Monthly)",
+              "locale" : "en_US"
+            }
+          ],
+          "productID" : "domaindig.proplus.monthly",
+          "recurringSubscriptionPeriod" : "P1M",
+          "referenceName" : "DomainDig Pro+ (Monthly)",
+          "subscriptionGroupID" : "20250720",
+          "type" : "RecurringSubscription"
+        },
+        {
+          "adHocOffers" : [
+
+          ],
+          "codeOffers" : [
+
+          ],
+          "displayPrice" : "29.99",
+          "familyShareable" : true,
+          "groupNumber" : 2,
+          "internalID" : "2000000003",
+          "introductoryOffer" : null,
+          "localizations" : [
+            {
+              "description" : "Unlimited tracked domains, automated monitoring, local alerts, workflows, and advanced exports.",
+              "displayName" : "DomainDig Pro (Annually)",
+              "locale" : "en_US"
+            }
+          ],
+          "productID" : "domaindig.pro.annually",
+          "recurringSubscriptionPeriod" : "P1Y",
+          "referenceName" : "DomainDig Pro (Annually)",
+          "subscriptionGroupID" : "20250720",
+          "type" : "RecurringSubscription"
+        },
+        {
+          "adHocOffers" : [
+
+          ],
+          "codeOffers" : [
+
+          ],
+          "displayPrice" : "2.99",
+          "familyShareable" : true,
+          "groupNumber" : 2,
+          "internalID" : "2000000004",
+          "introductoryOffer" : null,
+          "localizations" : [
+            {
+              "description" : "Unlimited tracked domains, automated monitoring, local alerts, workflows, and advanced exports.",
+              "displayName" : "DomainDig Pro (Monthly)",
+              "locale" : "en_US"
+            }
+          ],
+          "productID" : "domaindig.pro.month",
+          "recurringSubscriptionPeriod" : "P1M",
+          "referenceName" : "DomainDig Pro (Monthly)",
+          "subscriptionGroupID" : "20250720",
+          "type" : "RecurringSubscription"
+        }
+      ]
+    }
+  ],
+  "version" : {
+    "major" : 4,
+    "minor" : 0
+  }
+}
diff --git a/DomainDig.xcodeproj/xcshareddata/xcschemes/DomainDig.xcscheme b/DomainDig.xcodeproj/xcshareddata/xcschemes/DomainDig.xcscheme
index fffe4f2..c51d109 100644
--- a/DomainDig.xcodeproj/xcshareddata/xcschemes/DomainDig.xcscheme
+++ b/DomainDig.xcodeproj/xcshareddata/xcschemes/DomainDig.xcscheme
@@ -54,9 +54,12 @@
       <CommandLineArguments>
          <CommandLineArgument
             argument = "DOMAIN_DIG_FORCE_PRO_PLUS"
-            isEnabled = "YES">
+            isEnabled = "NO">
          </CommandLineArgument>
       </CommandLineArguments>
+      <StoreKitConfigurationFileReference
+         identifier = "../../../DomainDig.storekit">
+      </StoreKitConfigurationFileReference>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"