【问题标题】:Startup Crash iOS application启动崩溃 iOS 应用程序
【发布时间】:2016-02-25 10:34:41
【问题描述】:

我正在制作一个应用程序,它使用 GCM、后台任务和钥匙串来保存用户的信息。我通过将我们的设备 UDID 添加到苹果开发者帐户,使用我的开发认证发布了一个版本。但是几天后,我收到用户的反馈,每次启动都会崩溃。我查看代码但找不到这些错误。我得到了这些日志:

Nov 23 16:34:51 iPhone securityd[9174] <Error>:  secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found
Nov 23 16:34:51 iPhone securityd[9174] <Error>:  secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found
Nov 23 16:34:51 iPhone amfid[10315] <Error>:  SecTrustEvaluate  [leaf IssuerCommonName SubjectCommonName]
Nov 23 16:34:51 iPhone securityd[9174] <Error>:  secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found
Nov 23 16:34:51 iPhone securityd[9174] <Error>:  secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found
Nov 23 16:34:51 iPhone amfid[10315] <Error>:  SecTrustEvaluate  [leaf Revocation1]
Nov 23 16:34:51 iPhone amfid[10315] <Notice>: developer cert trust result = 5
Nov 23 16:34:51 iPhone amfid[10315] <Error>: /private/var/mobile/Containers/Bundle/Application/446DE89C-A427-4A51-AEA9-7AC86DFD088A/App.app/App not valid: 0xe8008018: The identity used to sign the executable is no longer valid.
Nov 23 16:34:51 iPhone com.apple.xpc.launchd[1] (UIKitApplication:com.xxxxx.App[0xb005][10966]) <Notice>: Service exited due to signal: Killed: 9
Nov 23 16:34:51 iPhone assertiond[9148] <Warning>: Unable to obtain a task name port right for pid 10966: (os/kern) failure (5)
Nov 23 16:34:51 iPhone SpringBoard[9139] <Warning>: Unable to register for exec notifications: No such process
Nov 23 16:34:51 iPhone SpringBoard[9139] <Warning>: Unable to obtain a task name port right for pid 10966: (os/kern) failure (5)
Nov 23 16:34:51 iPhone SpringBoard[9139] <Warning>: Unable to obtain a task name port right for <FBApplicationProcess: 0x1425836d0; com.xxxx.App; pid: 10966>
Nov 23 16:34:51 iPhone SpringBoard[9139] <Warning>: Application 'UIKitApplication:com.xxxxx.App[0xb005]' exited abnormally via signal.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextTranslateCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Error>: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
Nov 23 16:34:51 iPhone SpringBoard[9139] <Warning>: Application '(null)' exited for an unknown reason.

请帮我解决这个问题。谢谢你们。我经常撤销并创建新的证书和配置文件,并使用它进行编程。还好吗?

【问题讨论】:

  • 编译时出错?与往常一样,尝试清理项目:cmd+shift+clean,这有时已经有所帮助。另外The identity used to sign the executable is no longer valid. 表示您的签名身份有问题,可能不是崩溃的原因,但您也应该尝试修复它。
  • 我编译的时候没有报错,我一直以为身份无效。但是一些设备当前仍在运行,但其他设备崩溃并且无法再次启动应用程序。我不知道如何在这里找到什么错误。
  • @DuraiAmuthan.H 感谢您的回复。我将认证从开发替换为分发,以便我的应用程序可以正常运行。我不知道为什么。 :)

标签: ios objective-c iphone crash-reports


【解决方案1】:

我知道你有一个解决方法,但我更愿意解释为什么会发生这种情况

您的项目需要一个授权文件,并启用 APNS 进行开发或分发。 Apple Doc

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
</dic>

也许你的文件是这样的,但指向分发,所以使用开发会导致它崩溃

希望对你有帮助

【讨论】:

    【解决方案2】:

    虽然堆栈不是很清楚,但它会将您的崩溃范围缩小到几件事。

    1. 您的证书似乎无效 - 请转到 Keychain Access 并检查您是否拥有有效的证书以及密钥对是否附加到它。

    2. 您的配置文件无效。访问 developer.apple.com 并确保您使用的配置文件有效。

    3. Facebook 应用程序权限因某种原因被撤销。请检查您的 Facebook 应用程序并确保一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多