【问题标题】:testflight application closes on starttestflight 应用程序在启动时关闭
【发布时间】:2012-06-05 15:07:20
【问题描述】:

我正在尝试通过 testflight 安装一个 ad-hoc 应用程序,因此我从苹果门户创建了一个 ad-hoc 配置,我构建了 .ipa,然后将其提交给 testflight。

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

经过一些测试,我已将设备连接到 xcode,然后单击“配置开发”(或类似的东西,我不记得正确,因为我无法再次看到该选项)。之后,应用程序在启动时没有关闭,并且运行良好。

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

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

谢谢

【问题讨论】:

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

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


【解决方案1】:

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

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

对MusiGenesis 答案的更正: 临时构建不支持推送通知当然是不正常的!您只需正确设置和使用系统即可。

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

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

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

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

【讨论】:

  • 感谢您的回答。我有两个单独的实例:一个在我的本地机器上用于开发,另一个在另一台机器(公共)上用于临时/生产。在线我使用结合了 aps_production.cer 的 .pem 文件和用于临时分发配置的私钥。我对APNS问题提出了另一个问题(不知道是不是同一个问题):stackoverflow.com/questions/10900992/…
  • 这可能是你的问题。您的 .pem 文件应包含 aps_production.cer 证书和证书签名请求所基于的私钥。除非您在请求推送证书时手动指定密钥,否则它会为您生成一个新密钥。因此,用于代码签名的密钥(您的开发人员密钥)可能与用于推送的密钥不同。事实上,您可能希望它们有所不同,这样您的开发者身份私钥就不会放在野外的某个随机服务器上。
  • APNS 的问题是端口错误(我使用的是反馈端口!),现在它可以正常工作(APNS)但仍然是 testflight 的错误
  • 如果应用程序已安装,则它已正确签名。你正在看一场崩溃。从设备中获取日志文件并查看它的内容。
  • 我有同样的问题,但没有推送通知
【解决方案2】:

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

http://ocmock.org/ocmock3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 2012-04-30
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多