2012-06-05 22 views
4

我试图通过testflight安装临时应用程序,因此我从苹果门户网站创建临时配置文件,然后生成.ipa文件,然后将其提交给testflight。testflight应用程序在开始时关闭

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

经过一些测试后,我将设备连接到xcode,然后点击'配置开发'(或类似的东西,我不记得正确,因为我再也看不到这个选项)。之后,应用程序在启动时不会关闭,并且运行良好。

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

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

谢谢

+0

我面临同样的问题。但我使用应用商店配置文件构建我的ipa文件。 –

回答

1

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

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

对MusiGenesis的修正回答:临时构建不适用于推送通知肯定不正常!您只需设置并正确使用系统。

错误的常见来源,当你的临时版本是没有收到推送通知:

  • 你没有产生能够推动你的应用程序后,新的供应曲线。这会导致收到的推送令牌为零。
  • 您正在使用开发证书连接到APNS服务器。临时构建被视为分布构建,因此您必须使用您的生产密钥。
  • 您正在向APNS服务发送混合的开发令牌(来自开发版本)和生产令牌(从临时版本开始)。这会导致整批推送通知被服务器无声丢弃。将您的开发,临时和生产令牌数据库完全分开以避免这种情况。无法确定哪些令牌会中毒批次,因此您必须将其全部清除,并确保只插入正确类型的令牌。

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

在Xcode项目,然后我对这些类型的单独构建配置的建造和使用预处理宏交换正确的后端。单独的生成配置也如果你想确保你的开发版本是不报告错误的分析,以生产账户,正确配置配置文件将自动使用得心应手等等,等等

+0

谢谢你的回答。 我有两个独立的实例:一个在本地机器上进行开发,另一个在另一台机器上(公共)进行adhoc/production。 在线我使用从aps_production.cer组合的.pem文件和用于临时分发供应的专用密钥。 我对APNS问题提出了另一个问题(我不知道它是否是相同的问题):http://stackoverflow.com/questions/10900992/apple-push-notification-not-working-with-ad-hoc-建立 –

+0

这可能是你的问题。您的.pem文件应该包含aps_production.cer证书和证书签名请求所基于的私钥。除非您在请求推送证书时手动指定密钥,否则它将为您生成一个新密钥。因此,用于代码签名的密钥(您的开发人员密钥)可能与用于推送的密钥不同。事实上,你可能希望它们有所不同,所以你没有你的开发者身份私钥躺在一些随机的服务器上。 – Heiberg

+0

APNS的问题是一个错误的端口(我正在使用反馈端口!),现在它工作正常(APNS),但仍然是testflight的错误 –

1

这是从2012年的老问题,但最近我有完全相同的问题。我想到了造成这个问题的原因。我使用的是OCMock框架,当我将其更新到3.0版时,我开始出现这个问题。我恢复了它,它工作正常。我不知道OCMock 3.0中有什么问题。如果我弄明白了,我会再写一遍。

http://ocmock.org/ocmock3/

相关问题