验证来自macOS App Extensions的收据吗?

时间:2018-07-01 07:15:23

标签: swift macos receipt-validation macos-app-extension

macOS App Extension如何验证应用商店收据?也就是说,验证该应用的应用内购买是否有效(并继续有效)

显然,主捆绑包指向App Extension的捆绑包,因此appStoreReceiptURL属性Bundle会返回不存在的收据文件-即使主应用程序具有App Store收据文件。

例如,以下代码分别打印出主捆绑包和应用商店收货路径。

let mainBundle = Bundle.main
print("main bundle path: \(mainBundle.bundleURL)")
print("receipt path: \(String(describing: mainBundle.appStoreReceiptURL))")

当放置在App Extension视图控制器的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 个答案:

没有答案