我偶然发现了一个最烦人的问题。我有一个带有今日小部件的应用程序。该应用程序使用一个分发配置文件,而小部件目标使用另一个。一切都很好。我可以在Xcode中存档应用程序并将其安装在我的设备上。
但是,在尝试安装由我的Xcode服务器机器人创建的IPA时,它不会起作用。我收到错误:" 安装失败"
在将小部件目标添加到项目之前,一切正常。
Xcode服务器安装了相同的证书和配置文件。
我已经扫描了构建日志,没有发现任何异常情况。一切都正确签名,它记录** ARCHIVE SUCCEEDED **
有什么想法吗?
更新
似乎没有小工具也没有工作。当我尝试安装构建服务器构建的IPA时,我收到错误:
**App installation failed**
The application could not be verified.
我尝试使用之前尚未安装该应用的新设备。
更新2
这是尝试从Xcode安装IPA时的日志:
Feb 23 14:52:46 iPhone kernel[0] <Notice>: flow_divert_token_set (0): Failed to get the key unit from the token: 22
Feb 23 14:52:46 iPhone lockdownd[67] <Error>: Could not set socket option SO_OPPORTUNISTIC: Invalid argument
Feb 23 14:52:47 iPhone kernel[0] <Notice>: flow_divert_token_set (0): Failed to get the key unit from the token: 22
Feb 23 14:52:47 iPhone lockdownd[67] <Error>: Could not set socket option SO_OPPORTUNISTIC: Invalid argument
Feb 23 14:52:47 iPhone mobile_installation_proxy[271] <Warning>: LaunchServices: Please include the kCFBundleIdentifierKey in the options dictionary when installing an app.
Feb 23 14:52:47 iPhone mobile_installation_proxy[271] <Warning>: LaunchServices: installing app with unknown bundleID
Feb 23 14:52:47 iPhone installd[44] <Notice>: 0x10050c000 -[MIClientConnection _doBackgroundInstallationForPath:withOptions:completion:]: Install of "/var/mobile/Media/PublicStaging/[XXXXXX].ipa" type Customer requested by mobile_installation_proxy (pid 271)
Feb 23 14:52:47 iPhone installd[44] <Notice>: 0x10050c000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=com.XXX.XXXXXX; Version=140407, ShortVersion=1.0>
Feb 23 14:52:47 iPhone profiled[121] <Notice>: (Note ) MC: Provisioning profiles changed
Feb 23 14:52:47 iPhone installd[44] <Error>: SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName]
Feb 23 14:52:47 iPhone kernel[0] <Notice>: flow_divert_token_set (0): Failed to get the key unit from the token: 22
Feb 23 14:52:47 iPhone lockdownd[67] <Error>: Could not set socket option SO_OPPORTUNISTIC: Invalid argument
Feb 23 14:52:47 iPhone profiled[121] <Notice>: (Note ) MC: Provisioning profiles changed
Feb 23 14:52:47 iPhone securityd[82] <Error>: CFReadStream domain: 12 error: 8
Feb 23 14:52:47 iPhone installd[44] <Error>: SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName]
Feb 23 14:52:48 iPhone securityd[82] <Error>: CFReadStream domain: 12 error: 8
Feb 23 14:52:48 iPhone installd[44] <Error>: 0x10050c000 -[MIInstallableBundle performVerificationWithError:]: 473: Application is missing the application-identifier entitlement.
Feb 23 14:52:48 iPhone installd[44] <Error>: 0x10050c000 -[MIInstaller performInstallationWithError:]: Verification stage failed
Feb 23 14:52:48 iPhone mobile_installation_proxy[271] <Error>: 0x10040c000 __MobileInstallationInstallForLaunchServices_block_invoke240: Returned error Error Domain=MIInstallerErrorDomain Code=63 "Application is missing the application-identifier entitlement." UserInfo=0x127d3b040 {LegacyErrorString=ApplicationVerificationFailed, FunctionName=-[MIInstallableBundle performVerificationWithError:], SourceFileLine=473, NSLocalizedDescription=Application is missing the application-identifier entitlement.}
Feb 23 14:52:48 iPhone mobile_installation_proxy[271] <Warning>: ERROR: MobileInstallationInstallForLaunchServices returned nil
Feb 23 14:52:48 iPhone mobile_installation_proxy[271] <Error>: 0x10051c000 handle_install: Installation failed: Error Domain=LaunchServicesError Code=0 "The operation couldn’t be completed. (LaunchServicesError error 0.)" UserInfo=0x127d43dc0 {Error=ApplicationVerificationFailed, ErrorDescription=Application is missing the application-identifier entitlement.}
Feb 23 14:52:48 iPhone kernel[0] <Notice>: flow_divert_token_set (0): Failed to get the key unit from the token: 22
Feb 23 14:52:48 iPhone lockdownd[67] <Error>: Could not set socket option SO_OPPORTUNISTIC: Invalid argument
Feb 23 14:52:48 iPhone kernel[0] <Notice>: flow_divert_token_set (0): Failed to get the key unit from the token: 22
Feb 23 14:52:48 iPhone lockdownd[67] <Error>: Could not set socket option SO_OPPORTUNISTIC: Invalid argument
更新3
似乎是entitlements.plist造成了这些问题。由于我在目标(主目标和窗口小部件)之间使用共享数据,因此生成了权利文件。删除窗口小部件目标和权利文件时,它们都可以正确构建。
新问题,如何使用机器人,共享数据和entitlements.plist文件构建应用程序?与此answer
类似