Unity 打包IOS并用Xcode编译上架AppStore流程

避坑指南:Unity 项目若要上架AppStore的话,强烈建议使用2019.4及以上版本。

自2020年4月起App Store不再接受使用UIWebView的新App,App仍在使用已弃用的UIWebView API嵌入网络内容的开发者,应尽快更新为WKWebView以提升安全性和稳定性,Unity 2019 之前的部分版本已经修复该Api底层引用。

关于-Unity 打包iOS 删除 UIWebView引用的实践(巨坑)

参考下方链接:https://blog.csdn.net/nynart/article/details/106031508

1.Unity打包iOS完整图文流程点击链接即可。

https://blog.csdn.net/jia18337935154/article/details/105790726/

2.使用Xceode打包IPA完整图文流程点击链接即可,该教程为上架AppStore商店流程。

https://blog.csdn.net/weixin_44068394/article/details/106281125

https://blog.csdn.net/sky1466181491/article/details/54291088

如果不上传商店只本地测试,选择Ad Hoc 最后导出IPA 安装包即可。

Unity 打包IOS并用Xcode编译上架AppStore流程_第1张图片

3.Xcode更新到 Xcode11版本后原先的 Application loader 应用被苹果官方移除不能再继续使用了。

目前上传ipa 包到 AppStore 有四种方法

方法一:

 利用 Xcode -> Window -> Organizer 直接上传 (不用多说)

 方法二:

  网上下载 Application loader 应用(百度搜一下就能找到),再次上传

 方法三:

使用命令行工具 xcrun altool

xcrun altool 使用参考如下:

官方文档
https://help.apple.com/asc/appsaltool/#/apdATD1E53-D1E1A1303-D1E53A1126
其他文档
https://testerhome.com/topics/10507
https://www.jianshu.com/p/52a1b9a42afa

方法四: 推荐

可视化上传界面,有问题实时可以反馈给你。

   Transporter 应用点击下载

  使用苹果最新推荐的应用 进行上传  Transporter

4.苹果iTunes Connect 正式更名为 App Store Connect。App Store Connect 的功能与 iTunes Connect 完全一致。

为节约开发时间,可以使用预审工具检测,通过一个网站看到是https://www.quicksdk.com/,上传包可以检测ios预审,没有问题再去苹果提交构建版本。

总结上传苹果商店遇到的问题:


问题一:IOS提审被拒UIWebView问题

商店机审秒拒,一般是Unity 版本问题,升级Unity版本即可,如果版本过低,可以参照下方方式修改剥离Unity 底层  libiPhone-lib.a 文件是 Unity Runtime 静态库。

https://blog.csdn.net/baidu_31156101/article/details/112674434?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242


 

问题二:XCode上传版本成功, 但是AppStoreConnect里构建版本不显示?

 参照:https://www.jianshu.com/p/d7d7111586dd


 

问题三:开发账号为公司邮箱,收不到苹果反馈邮件?

其实这种问题解决起来很简单(根据苹果的反馈邮件),只是我们发现这个问题的过程很难,为什么呢?

1、我们每次提交一个版本后,苹果都会给 “公司邮箱”(注册苹果开发者账号的邮箱)发一封邮件。作为开发者,如果能第一时间收到这个邮件(下图:苹果反馈邮件),那么我们会避免浪费很多时间。

2、可是往往开发者账号都是用公司邮箱注册的,不可能将邮箱密码授权给开发人员。所以,我们可以通过这种方式,在 iTunes Connect 里将自己添加为开发人员,这样每次苹果也会给你发一封提交反馈邮件。

 

添加iTunes Connect 开发人员:

登录iTunes Connect -> 选择用户和职能 -> 添加 iTunes Connect 用户 -> 填写用户信息 -> 选择职能权限(如:开发人员) -> ... -> OK

Unity 打包IOS并用Xcode编译上架AppStore流程_第2张图片 

1、选择用户和职能

Unity 打包IOS并用Xcode编译上架AppStore流程_第3张图片 

2、添加 iTunes Connect 用户

Unity 打包IOS并用Xcode编译上架AppStore流程_第4张图片 

3、填写用户信息

Unity 打包IOS并用Xcode编译上架AppStore流程_第5张图片 

4、选择职能权限

这样你就是苹果的开发人员了。上传审核问题苹果都会发送到你苹果ID绑定的邮箱。


问题四:Xcode导出审核包后、一个包比一个包大的问题记录

xcode 8.3导出审核包、

原来的包 只有40mb,出了几次包发现、一次比一次大、夸张到包大小为300MB

这种现象产生原因是使用了xcode功能BitCode

因为xcode 7.0后会默认开启BitCode

BitCode 是app审核时候 生成的中间文件。

如需关闭,

具体按以下操作:
在Targets -> Build Settings -> Build Options 下
将Enable Bitcode 设置为NO即可



问题五:Xcode上Version和Build

  • Version(应用程序发布版本号)
  • Build(应用程序内部标示)

 

Version(应用程序发布版本号)

对应的就是CFBundleShortVersionString。该版本的版本号是三个时期分隔的整数组成的字符串:
第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。
第二个整数表示的修订,实现较突出的特点。
第三个整数代表维护版本。该键的值不同于CFBundleVersion标识。

版本号的管理是一个谨慎的事情,希望各位开发者了解其中的意义。
如当前上架版本为1.1.0,之后你更新的时候可以改为1.1.1

Build(应用程序内部标示)

对应的是CFBundleVersion。标识(发布或未发布)的内部版本号。用以记录开发版本的,每次更新的时候都需要比上一次高。如:当前版本是11,下一次就要大于11。比如12,13,etc

作用

比如团队打算发布1.0版本的时候,会发布很多build版本供测试或QA团队进行测试,你发布了很多build,因为一直在修改着代码,因此当你收到一条bug信息时候,你怎么知道是哪个build引起的问题呢,这时候build版本号的优点就可以体现出来了。

最后经历N次打包上传,终于可以提交审核了。

Unity 打包IOS并用Xcode编译上架AppStore流程_第6张图片

Unity 打包IOS并用Xcode编译上架AppStore流程_第7张图片

 

 


 

 

 

你可能感兴趣的:(Unity,IOS,ios,xcode,unity3d)