Подтверждение получения от 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/ не существует

0 ответов

Другие вопросы по тегам