我为越狱运行 iOS 8.1 的iPhone5开发了一款应用。当我尝试使用ldid脚本对应用进行签名时,我在Terminal中没有收到任何错误。当我将应用程序推送到iPhone并查看控制台我看到以下错误:
Nov 10 17:27:51 iPhone installd[63] <Error>: 0x581000 -[MIExecutableBundle needsDataContainer]: Code signature not verified so we don't have entitlements for this non-user app, which means we can't determine if it needs a container.
Nov 10 17:27:52 iPhone installd[63] <Error>: 0x581000 -[MICodeSigningVerifier performValidationWithError:]: 186: Failed to verify code signature of <MIExecutableBundle : path = /Applications/TestApp.app identifier = com.bundle.s.TestApp type = 1> : 0xe800801c (Code not signed)
Nov 10 17:27:52 installd[63] <Error>: 0x581000 +[MILaunchServicesDatabaseGatherer entryForBundle:inContainer:withError:]: Failed to validate code signing for app file:///Applications/TestApp.app/ : Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of <MIExecutableBundle : path = /Applications/TestApp.app identifier = com.bundle.s.TestApp type = 1> : 0xe800801c (Code not signed)" UserInfo=0x15d0dac0 {LibMISErrorNumber=-402620388, LegacyErrorString=ApplicationVerificationFailed, FunctionName=-[MICodeSigningVerifier performValidationWithError:], NSLocalizedDescription=Failed to verify code signature of <MIExecutableBundle : path = /Applications/TestApp.app identifier = com.bundle.s.TestApp type = 1> : 0xe800801c (Code not signed), SourceFileLine=186}
即使是iFile和Cydia应用程序也会出现相同的错误,但它们在同一台设备上运行得非常好:
Nov 10 17:27:52 iPhone installd[63] <Error>: 0x581000 -[MIExecutableBundle needsDataContainer]: Code signature not verified so we don't have entitlements for this non-user app, which means we can't determine if it needs a container.
Nov 10 17:27:52 Phone installd[63] <Error>: 0x581000 -[MICodeSigningVerifier performValidationWithError:]: 186: Failed to verify code signature of <MIExecutableBundle : path = /Applications/iFile.app identifier = eu.heinelt.ifile type = 1> : 0xe800801c (Code not signed)
Nov 10 17:27:52 Phone installd[63] <Error>: 0x581000 +[MILaunchServicesDatabaseGatherer entryForBundle:inContainer:withError:]: Failed to validate code signing for app file:///Applications/iFile.app/ : Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of <MIExecutableBundle : path = /Applications/iFile.app identifier = eu.heinelt.ifile type = 1> : 0xe800801c (Code not signed)" UserInfo=0x15e03980 {LibMISErrorNumber=-402620388, LegacyErrorString=ApplicationVerificationFailed, FunctionName=-[MICodeSigningVerifier performValidationWithError:], NSLocalizedDescription=Failed to verify code signature of <MIExecutableBundle : path = /Applications/iFile.app identifier = eu.heinelt.ifile type = 1> : 0xe800801c (Code not signed), SourceFileLine=186}
我在运行iOS 7.1.2的越狱iPhone5S上尝试了相同的ldid脚本,我的应用程序在这个越狱设备上运行完美,没有任何代码签名错误。
我做错了或者是否已经为iOS 8.1更新了ldid (我用pangu工具越狱我的设备,我使用的是Xcode ver 5.1.1)