在其捆绑包中提交带有帮助应用程序的OSX应用程序

Mat*_*oal 17 cocoa submission provisioning mac-app-store

我真的很生气这个问题!我有一个应用程序,其中包含一个简单的帮助应用程序,它管理主应用程序的登录项.

当我尝试提交应用时,我会收到与配置文件和权利相关的错误.我确信这个问题与Helper应用程序有关,因为在我添加之前,提交工作没有问题.

目前,帮助应用程序已经过代码签名,并被沙盒化为主应用程序.

错误是:

  • 配置文件无效.捆绑包中包含的配置文件无效

  • 无效的代码签名权利.应用包标签中的权利与配置文件中包含的权利不匹配.该包中包含一个未包含在"myapp.app/Contents/Library/LoginItems/helper.app"中的配置文件"com.apple.application-identifier"中的密钥

  • 无效的代码签名权利.应用包标签中的权利与配置文件中包含的权利不匹配.该软件包包含一个密钥,该密钥未包含在"myapp.app/Contents/MacOS/myapp"中的配置文件"com.apple.application-identifier"中

sea*_*her 20

对于遇到此问题的其他人,您不必再次对辅助应用程序进行编码,只需从xarchive中的帮助应用程序中删除"embedded.provisionprofile",您就可以提交任何问题.

  • 这对我有用.main和helper app都是代码签名的.主应用程序和帮助应用程序都具有带有单独的包ID的分发配置文件.我最初能够构建和存档,但遇到了通过验证的问题.归档后,我选择了存档并在Finder中显示.然后,从存档内部的HELPER应用程序中手动删除embedded.provisionprofile.然后,返回Xcode,重新验证并提交已清理的存档. (4认同)

Mat*_*oal 6

似乎解决这个问题的唯一解决方案是从Xcode对辅助应用程序进行编码和沙箱化,然后:


从终端重新编码Helper应用程序

codesign -f -s "3rd Party mac Developer Application:" -i "com.bundle.YOUR.HELPER" --entitlements path/to/helper/entitlements YEOR-HELPER.app



从Helper应用程序中删除配置文件,在"构建阶段"中添加"运行脚本"

rm"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Library/LoginItems/YOUR-HELPER.app/Contents/embedded.provisionprofile"
Run Code Online (Sandbox Code Playgroud)

有了这个解决方案,我们已经正确提交了我们的App