testflight应用程序在开始时closures

我正在尝试通过testflight安装一个ad-hoc应用程序,所以我从苹果门户网站创build了一个ad-hoc provisioning,我构build了.ipa,然后将其提交给testflight。

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

经过一些testing,我已经连接到Xcode设备,然后点击“为开发configuration”(或类似的东西,我不记得正确,因为我不能再看到这个选项)。 之后,应用程序在启动时没有closures,并且运行良好。

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

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

谢谢

如果您可以从TestFlight安装应用程序而没有错误,那么您的设备在configuration文件中正确列出。 你的问题是别的。

试着从设备上查看崩溃日志,看看出了什么问题。 你可以提取它们并在Xcode中表示它们。

对MusiGenesis答案的一个更正:临时构build不与推送通知一起工作肯定不正常! 你只需要正确设置和使用系统。

当您的ad-hoc版本没有收到推送通知时,常见的错误来源:

  • 启用应用程序推送后,您没有生成新的供应configuration文件。 这导致接收到的推送令牌为零。
  • 您正在使用开发证书连接到APNS服务器。 临时构build被认为是分布构build,因此您必须使用您的生产密钥。
  • 您正在将开发令牌(从开发版本)和生产令牌(从临时版本)混合发送到APNS服务。 这导致整批推送通知被服务器默默地丢弃。 保持你的开发,adhoc和生产令牌数据库完全分开,以避免这种情况。 没有办法确定哪些令牌中毒你的批处理,所以你必须全部清除它们,并确保只有正确types的令牌被插入。

我总是保持3个后端实例运行的应用程序需要注册推送。 一个用于开发构build,一个用于临时构build,一个用于App Store构build。 例如,您可以在dev.mybackend.comdev.mybackend.comproduction.mybackend.comdev.mybackend.com不同的数据库实例的独立API端点以隔离它们。

在Xcode项目中,我对这些types的构build有独立的构buildconfiguration,并使用预处理器macros交换正确的后端。 如果要确保开发版本不向生产帐户报告错误的分析,自动使用正确的预configurationconfiguration文件等,单独的生成configuration也很方便。

这是从2012年起的一个老问题,但是最近我遇到了同样的问题。 我想到了什么导致了这个问题。 我正在使用框架OCMock,当我更新到3.0版,我开始有这个问题。 我恢复了它,它工作正常。 我不知道什么在OCMock 3.0使这个问题呢。 如果我知道了,我会再写一遍。

http://ocmock.org/ocmock3/