启动崩溃iOS应用程序

问题描述:

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

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. 

请帮我这个。谢谢你们。我经常撤销并创建新的证书和配置文件,并用它来编程。它很好吗?

+2

编译时出现任何错误?像往常一样,尝试清理该项目:'cmd' +'shift' +'clean',这有时可以帮助。另外'用于签署可执行文件的身份不再有效.'意味着签名身份有些不正确,可能不是崩溃的原因,但是您应该尝试修复此问题。 – LinusGeffarth

+0

编译时我没有得到错误,我曾经想过这个身份是无效的。但目前一些设备仍在运行,但其他设备却崩溃,无法再次启动应用。我不知道如何在这里找到什么错误。 –

+1

试试这个https://forums.developer.apple.com/thread/20193 –

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

您需要在项目的授权文件,并与开发或分销启用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> 

也许你的文件是这样的,但指向的分布,所以使用的发展将导致崩溃

希望这有助于

虽然堆栈是不是很清楚,它缩小您的碰撞几件事情。

  1. 您的证书似乎并不有效 - 请转到钥匙串访问,并检查是否有一个有效的证书和密钥对连接到它。

  2. 您的供应配置文件失效。转到developer.apple.com并确保您使用的配置文件是有效的。

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