testflight应用程序在启动时关闭

时间:2012-06-05 15:07:21

标签: ios xcode apple-push-notifications testflight adhoc

我正在尝试通过testflight安装ad-hoc应用程序,所以我从Apple门户创建了一个临时配置,我构建.ipa然后我将它提交给testflight。

问题是我可以从testflight安装应用程序(我没有收到任何错误),但是当它启动应用程序时它关闭时没有任何警报或消息。

经过一些测试,我已经将设备连接到xcode,然后我点击了“配置开发”(或类似的东西,我记不清了,因为我再也看不到那个选项了)。之后,应用程序在启动时没有关闭,效果很好。

问题是,如果必须为任何设备启用xcode开发,我无法通过testflight分发应用程序!

为什么我有这种行为?我做错了什么?

谢谢

2 个答案:

答案 0 :(得分:1)

如果您可以在没有错误的情况下从TestFlight安装应用程序,那么您的设备已在配置文件中正确列出。你的问题是另一回事。

尝试查看设备的崩溃日志,看看出了什么问题。你可以在Xcode中提取它们并对它们进行符号化。

对MusiGenesis的修正回答: ad-hoc版本不适用于推送通知当然不正常!您只需正确设置和使用系统。

ad-hoc构建未收到推送通知时的常见错误来源:

  • 启用推送应用后,您没有生成新的配置文件。这会导致收到的推送令牌为零。
  • 您正在使用开发证书连接到APNS服务器。临时构建被视为分发构建,因此您必须使用生产密钥。
  • 您正在发送混合的开发令牌(从开发版本)和生产令牌(从ad hoc版本)到APNS服务。这会导致整批推送通知被服务器静默丢弃。保持您的开发,adhoc和生产令牌数据库完全分开,以避免这种情况。无法确定哪些令牌会使您的批次中毒,因此您必须将它们全部清除,并确保只插入正确类型的令牌。

我总是为需要注册推送的应用运行3个后端实例。一个用于开发构建,一个用于ad-hoc构建,一个用于App Store构建。例如,您可以在不同数据库实例支持的dev.mybackend.comstaging.mybackend.comproduction.mybackend.com处将单独的API端点保持在线,以隔离它们。

在Xcode项目中,我为这些类型的构建提供了单独的构建配置,并使用预处理器宏交换了正确的后端。如果您想确保您的开发版不向生产帐户报告错误的分析,自动使用正确的配置文件等等,单独的构建配置也很方便。

答案 1 :(得分:1)

这是2012年的一个老问题,但最近我遇到了完全相同的问题。我想出了问题所在。我使用框架OCMock,当我将其更新到3.0版时,我开始遇到这个问题。我把它还原了,它工作正常。我不知道OCMock 3.0中出现了什么问题。如果我弄清楚,我会再次写到这里。

http://ocmock.org/ocmock3/