是否可以在运行时检测到应用程序已通过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"

Ios相关问答推荐

SWIFT图表轴订购问题

IFrame内容拒绝仅在iOS浏览器上加载-即使发布了内容-安全-策略(CSP)框架-祖先指令

SWIFT AVFoundation不能在查看更新的同时发布更新

用于HDR显示的CI上下文选项

SwiftUI - 搜索栏和导航标题之间的空间太大

iOS设备网页自动化中,在向字段发送文本后未启用按钮

SwiftUI 选项卡式视图防止滑动到下一个选项卡

JSONDecoder 在模拟器上运行良好时无法在真实设备上解码

搜索在 ios xamarin.forms 中不起作用

如何在 Swift 中旋转 UIButton 和 UILabel 的文本?

SwiftUI NavigationLink 立即加载目标视图,无需单击

如何在 UIActivityViewController 中设置邮件主题?

在主线程上发布 NSNotification

从 NSData 或 UIImage 中查找图像类型

有没有办法在 xib 文件中的视图和顶部布局指南之间添加约束?

使用 convertPoint 获取父 UIView 内的相对位置

iOS 7 圆形框架按钮

swift 语言中的 null / nil

IOS - 从 UITextView 中删除所有填充

使用 swift 将本地 html 加载到 UIWebView