I identified that ExternalPurchaseLink.canOpen was returning false because StoreKit determines eligibility solely based on the storefront country of the device’s production App Store account, regardless of the sandbox Apple ID used for testing. Since the production account on the device was set to a country that does not support External Purchase Links, the API consistently reported ineligible results. After switching the production App Store account to a supported storefront, the API began functioning correctly.
At this point, I am not certain whether this behavior is intentional or a potential bug.
Topic:
App & System Services
SubTopic:
StoreKit
Tags: