Подтверждение получения от MacOS App Extensions?
Как расширение приложения MacOS может проверить квитанцию магазина приложений? То есть, чтобы убедиться, что покупки в приложении для приложения действительны (и остаются в силе)
По-видимому, основной пакет указывает на пакет расширения приложения, следовательно, appStoreReceiptURL
имущество Bundle
возвращает несуществующий файл квитанции - даже если основное приложение имеет файл квитанции App Store.
Например, следующий код распечатывает пути получения основного пакета и магазина приложений соответственно.
let mainBundle = Bundle.main
print("main bundle path: \(mainBundle.bundleURL)")
print("receipt path: \(String(describing: mainBundle.appStoreReceiptURL))")
При размещении внутри контроллера расширений приложения viewDidLoad
, он возвращает результаты, подобные этим:
main bundle path: file:///Users/${userName}/Library/Developer/Xcode/DerivedData/${projectBuild}/Build/Products/Debug/${mainAppName}.app/Contents/PlugIns/${appExtensionName}.appex/
receipt path: Optional(Contents/_MASReceipt/receipt -- file:///Users/${userName}/Library/Developer/Xcode/DerivedData/${projectBuild}/Build/Products/Debug/${mainAppName}.app/Contents/PlugIns/${appExtensionName}.appex/)
Однако, глядя на внутри .appex
расслоение, папка Contents/_MASReceipt/
не существует