问题描述
我终于能够使我的项目在Macbook上的Unreal Engine中构建...但是... Application Loader不会将其接受到App Store.我不是专为发布而设计的iOS应用.
I was finally able to get my project to build in Unreal Engine on my macbook... but... Application Loader won't accept it to the App Store. I'ts an iOS app made for Distribution.
Apple Resources (图片: https://i.imgur.com/RaY3bqe.jpg )
-中级证书
-iOS发行证书+密钥
-应用ID |类型:显式|"com.companyName.appName"
-供应资料|平台:iOS |类型:App Store
-钥匙扣|中级证书+ iOS分发证书+密钥
-已选择"appName"并选择了匹配的捆绑包ID的App Store Connect项目.
Apple Resources (image: https://i.imgur.com/RaY3bqe.jpg)
- Intermediate Certificate
- iOS Distribution Certificate + Key
- App ID | Type: explicit | "com.companyName.appName"
- Provision Profile | Platform: iOS | Type: App Store
- Keychain | Intermediate Certificate + iOS Distribution Certificate + Key
- App Store Connect Project with "appName" and matching Bundle ID selected.
我如何制作证书
-钥匙串访问>证书助手>向证书颁发机构请求证书…它制作了CSR和密钥
-我使用CSR在developer.apple.com
上制作了iOS发行证书-下载证书,将其拖放到我制作的"UnrealEngineiOS"钥匙串中.
How I made my Certificate
- Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority… It made a CSR and key
- I used the CSR to make the iOS Distribution certificate at developer.apple.com
- Downloaded certificate, drag and dropped into the keychain I made "UnrealEngineiOS".
虚幻引擎设置(图像: https://i.imgur.com/bHvsvDA.jpg )
-供应,证书有效
-捆绑信息的命名方式与我如何命名证书,设置,ID完全相同.(区分大小写)
-自动签名|关闭
-构建配置|运送
Unreal Engine Settings (image: https://i.imgur.com/bHvsvDA.jpg)
- Provision, Certificate are valid
- Bundle Info is named exactly how I named my certificate,provision,ID. (case sensitive)
- Automatic Signing | off
- Build Configuration | Shipping
好吧……我用它来尝试在Macbook上用Unreal打包
Ok so… I used that to attempt to package in Unreal on my macbook
- 虚幻引擎>文件>包项目> iOS
消息日志:未找到配置.需要将您的应用程序部署到设备上的规定
消息日志:找不到签名密钥.无法对应用进行数字签名,因为未配置签名密钥
- 虚幻引擎>项目设置> iOS>构建> 自动签名 |设置为开
- 虚幻引擎>项目设置> iOS>构建> iOS Team ID |我输入我的团队ID
- 虚幻引擎>文件>包项目> iOS
- 建立成功!appName-IOS-Shipping.ipa已创建.
- Xcode>打开开发人员工具>应用程序加载器|我选择我的ipa文件
- 应用程序加载程序:正在审查您的应用程序..."
- 应用程序加载器>下一步
- 应用程序加载程序:添加应用程序",通过App Store验证资产"
- 应用程序加载程序错误:
错误
错误ITMS-90161:无效的配置文件.捆绑包com.companyName.appName [Payload/appname.app]中包含的配置文件无效.[缺少代码签名证书].将应用程序提交到App Store时,应使用Distribution Provisioning配置文件.有关更多信息,请访问iOS开发人员门户."
Error
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.companyName.appName [Payload/appname.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
如何让App Store接受我的ipa文件?我在做什么错了?
推荐答案
发生的原因:
- 虚幻引擎>项目设置> 用于分发☐<-未选中因此,虚幻引擎假定它是开发版本.(我只有Build Configuration = Shipping还不够)
- 已检查自动签名
由于虚幻假设开发为构建版本,它会自动使用我的开发证书进行签名还是我想它以某种方式使用了从我的Apple Dev在线找到的开发条款.
- Unreal Engine > Project Settings > For Distribution ☐ <-- this was not checked on therefore Unreal Engine assumes it's a development build. (I only had Build Configuration = Shipping which was not enough)
- Automatic Signing was checked on
Since Unreal assumed development build it automatically used my development certificate to sign or I guess it somehow used a development provision it found from my Apple Dev online.
解决方案
- 关闭自动签名
- 检查发布情况
不确定是否有帮助,但:
- 我在网上重命名了我的规定,然后苹果将其标记为无效.因此,我重新制作了条款并将其命名为"appName"
- 将条款下载到Macbook
- 双击安装
- 打开虚幻引擎时,您应该会看到一个Apple样式配置文件(eedfb-d1b5-45a3-b527 .... mobileprovision等)
- 使用该规定进行构建
我在解决此问题时遇到的另一个问题:
虚幻引擎仍在使用错误的配置来构建,因此我删除了它存储的所有配置并重新安装了新的配置:
Another issue I had while resolving this:
Unreal was still using the wrong provision to build so I deleted all the provisions it had stored and reinstalled my new one:
在Macbook上
- 关闭虚幻引擎
- 单击桌面以使其焦点
- 转到>转到文件夹...
- 转到文件夹:〜/Library/MobileDevice/Provisioning Profiles
- 删除这些配置文件
- 现在您可以安装正确的规定和证书
虚幻引擎现在应该使用您选择的配置文件,而不是随机的文件.
Unreal Engine should now use the provisioning profile you select rather than a random one.
这篇关于错误ITMS-90161无效的配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!