我会使用Xcode在我的手机中安装一个应用程序,但是没有安装,但后面出现错误信息 .
-
错误消息
"The executable was signed with invalid entitlements. The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016)" -
询问事项
-
为什么安装应用程序时会出现错误消息?
-
你介意你能否解决这个问题?
13 回答
我有同样的错误 . 我的问题是我在Entitlements.plist中选中了“启用HealthKit”,但是在创建App Id时我没有启用HealthKit .
简而言之,应在您使用的配置文件中配置应用程序中的所有权利(项目中的Entitlements.plist文件)(配置配置文件=应用程序ID可以运行的设备上的证书信息) .
从一天到下一天,我的项目突然出现了同样的问题 .
为我修复的是为两个目标关闭“自动管理签名”,并确保合适的开发团队在它再次打开时被选中(在我的项目中默认为none) .
检查您是否在Build Setting> Code Signing Section中使用Entitlement文件 . 如果是,请尝试删除该文件名 .
您使用错误的配置文件在设备上构建应用程序,请确保使用正确类型的配置文件 . 我正在使用App Store部署配置文件在设备上构建 . 使用ad-hoc配置文件或开发配置文件在您的设备上构建 .
You are using Entitlement file
权利文件定义了应用的某些功能 . 通常,当您为应用启用功能时,Xcode会自动生成该文件 . 如果您启用了某些功能,则只需要该文件,例如Healthkit集成 . 如果您想使用这些功能,则必须添加它 . 否则,Apple将拒绝您的应用 .
解决这个问题
转到目标的构建设置 .
确保选择"All"而不是"Basic"
在搜索框中输入"entitlements"
结果是构建设置,您可以在其中指定权利文件的位置
删除它们
You are using the wrong Provisioning Profile
供应配置文件是一组数字实体,它们将开发人员和设备与授权的iPhone开发团队联系起来,并使设备可用于测试 . 必须在要运行应用程序代码的每个设备上安装开发配置文件 .
转到“构建设置”>“代码签名”>“供应配置文件”
在Team下选择开发配置文件
请确保项目,目标和测试中的团队是相同的 .
Bundle Identifier and App ID do not match
转到目标的构建设置
选择打包并更改您的应用程序ID以匹配捆绑ID
Clear cache in Xcode
Command-Option-Shift-K清除构建文件夹 . 更好的是,退出Xcode并手动清除〜/ Library / Developer / Xcode / DerivedData .
您使用错误的供应配置文件,即分发用于开发 . 转到构建设置>代码签名>供应配置文件,然后选择开发配置文件 .
检查“PROJECT> Build Settings”和“TARGETS> Build Settings”中的“代码签名”配置是否相同 .
个人而言,我用于两者:
检查目标的“团队”参数 . 它应该与您的项目和测试相同 .
对我来说,上述答案都没有奏效 . 我试图从Keychain中删除每个代码签名证书并构建应用程序 . 当我为目标解决所有与代码签名相关的错误时,我仍然在测试目标中有一些错误 . 它之前由我的团队中的其他人设定 . 我刚刚切换到iOS Developer,无效的权利错误消失了 .
我遇到了这个问题,我的问题是我的捆绑标识符和AppID不匹配 . 请在您的AppID中更改Build Settings-> Packaging中的Bundle Identifier .
只需转到您已下载配置文件的Apple开发人员门户网站 .
选择您的配置文件单击编辑并检查是否选择了所有证书 .
在我的情况下,选择所有证书并下载新的配置文件解决了上述问题 .
还要确保在模式中将“构建配置”设置为正确的配置,在大多数情况下为“Debug” .
在CI过程中使用App Store配置 wrongly 导出ipa时出现此错误 . 我的意图是使用Adhoc配置导出 .