是否可以在运行时检测到应用程序已通过TestFlight Beta(通过iTunes Connect提交)与App Store安装?您可以提交单个应用程序包,然后通过这两个应用程序包都可以使用.是否有API可以检测它的安装方式?或者收据是否包含可以确定这一点的信息?
是否可以在运行时检测到应用程序已通过TestFlight Beta(通过iTunes Connect提交)与App Store安装?您可以提交单个应用程序包,然后通过这两个应用程序包都可以使用.是否有API可以检测它的安装方式?或者收据是否包含可以确定这一点的信息?
对于通过TestFlight Beta安装的应用程序,回执文件命名为StoreKit\sandboxReceipt
,而不是通常的StoreKit\receipt
.使用[NSBundle appStoreReceiptURL]
,您可以在URL的末尾查找sandboxReceipt.
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSString *receiptURLString = [receiptURL path];
BOOL isRunningTestFlightBeta = ([receiptURLString rangeOfString:@"sandboxReceipt"].location != NSNotFound);
请注意,当本地运行构建时,以及对于在模拟器中运行的构建,sandboxReceipt
也是接收文件的名称.
SWIFT版本:
let isTestFlight = Bundle.main.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"