我真的很生气这个问题!我有一个应用程序,其中包含一个简单的帮助应用程序,它管理主应用程序的登录项。
当我尝试提交应用时,我收到与配置文件和权利相关的错误。我确定问题与帮助应用程序有关,因为在我添加之前,提交工作没有问题。
目前,帮助应用程序已经过代码签名,并被沙盒化为主应用程序。
错误是:
配置资料无效。包中包含的配置文件无效
无效的代码签名权利。应用包标签中的权利与配置文件中包含的权利不匹配。该捆绑包含一个未包含在配置文件中的密钥&com; apple.application-identifier'在' myapp.app/Contents/Library/LoginItems/helper.app'
无效的代码签名权利。应用包标签中的权利与配置文件中包含的权利不匹配。该捆绑包含一个未包含在配置文件中的密钥&com; apple.application-identifier' in' myapp.app/Contents/MacOS/myapp'
答案 0 :(得分:20)
对于遇到此问题的其他人,您不必再次对辅助应用程序进行编码,只需从xarchive中的帮助应用程序中删除“embedded.provisionprofile”,即可提交无问题。
答案 1 :(得分:6)
似乎解决这个问题的唯一解决方案是从Xcode编码和沙箱化帮助应用程序然后:
从终端重新编码帮助应用
codesign -f -s "3rd Party mac Developer Application:" -i
"com.bundle.YOUR.HELPER" --entitlements path/to/helper/entitlements
YEOR-HELPER.app
从帮助应用中删除配置文件,在“构建阶段”中添加“运行脚本”
rm"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Library/LoginItems/YOUR-HELPER.app/Contents/embedded.provisionprofile"
通过此解决方案,我们已正确提交了我们的应用程序。
答案 2 :(得分:1)
当我意外地在目标中包含一些第三方.a文件时,我遇到了第3个错误。 (他们需要非App Store发行版,但我忘了将它们排除在App Store版本之外)。跟踪此错误对错误没有太大帮助!
答案 3 :(得分:0)
我终于能够通过添加以下运行脚本从帮助应用程序中删除embedded.provisionprofile文件来解决此问题:
if [ -f "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/embedded.provisionprofile" ];
then
rm "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/embedded.provisionprofile"
echo "Removed embedded provisioning profile."
else
echo "No profile found"
fi