当前位置: 首页 > 知识库问答 >
问题:

如何在运行时判断iOS应用程序是否通过TestFlight测试版安装运行

彭琛
2023-03-14

是否有可能在运行时检测到某个应用程序是通过TestFlight Beta(通过iTunes Connect提交)安装的,而不是通过App Store安装的?您可以提交一个应用程序包,并通过两者提供。是否有一个API可以检测它是以哪种方式安装的?或者收据是否包含允许确定这一点的信息?

共有1个答案

高朝明
2023-03-14

对于通过TestFlight Beta安装的应用程序,接收文件命名为Storekit\SandboxReceive,而不是通常的Storekit\Receive。使用[NSBundle appStoreReceiptURL]可以在URL的末尾查找SandboxReceive。

NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSString *receiptURLString = [receiptURL path];
BOOL isRunningTestFlightBeta =  ([receiptURLString rangeOfString:@"sandboxReceipt"].location != NSNotFound);

请注意,SandboxReceive也是在本地运行构建时的接收文件的名称,对于在模拟器中运行的构建。

 类似资料:
  • 问题内容: 有没有办法知道浏览器中React的运行时版本? 问题答案: 是您要寻找的。 但是,据我所知,它没有记录,因此它可能不是一个稳定的功能(即,虽然不太可能,但它可能会消失或在将来的版本中更改)。 导入为脚本的示例 导入为模块的示例 显然,如果您将其导入为模块,则不会在全局范围内。上面的代码旨在与您应用程序的其余部分捆绑在一起,例如使用webpack。如果在浏览器的控制台中使用,它将几乎永远

  • 我有一个小Java程序。我使用Graal的(即GraalVM AOT又名SubstrateVM)构建了一个二进制文件。 我的程序可以在Java运行时执行,也可以从本机映像二进制文件执行。判断我所处环境的最佳方式是什么? (总的来说,这可能是一种不好的做法,但我相信在某些并不罕见的情况下,这是不可避免的/必要的。)

  • 当我从Android Studio或从命令行安装应用程序时,应用程序总是在调试模式下启动,即使手机没有连接到电脑。所以我看到对话框"等待调试器附加"和应用程序不启动,直到我附加调试器。有什么方法可以禁止这种行为吗? 我的手机是Nexus 5,Android 6.0.1 ADB 1.0.32版,运行在Windows 7上

  • 问题内容: 如何确定我的应用程序是否在开发服务器上运行?我想,我可以检查的价值,并假设如果是那么它的开发服务器上运行,但我更愿意知道肯定不是依靠惯例。 问题答案: 当然,可能是在META上设置的,并且在另一个服务器环境中有一个模块,该模块通过极端重合命名,但是我希望这可以帮助你。 顺便说一句,我是通过在开发服务器上运行时制作一个语法上无效的模板来发现这一点的,然后在和部分中搜索了有趣的内容,因此我

  • 问题内容: 关于此主题,有很多stackoverflow线程,但是我仍然 没有找到一个好的解决方案。 如果该应用程序不在后台,则可以签 launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]入 application:didFinishLaunchingWithOptions:呼叫以查看是否已从 通知中打开该应用程序。 如果应用