考虑到在虚拟机中运行Unity比较卡,所以采用在Windows Unity上将项目发布好然后再复制到Mac虚拟机中通过XCode进行编译的方式。 Unity版本为 Unity2017.2.0f3 。注意当安装作为ARKit开发环境时,需要注意未标注资源包不能
安装,否则发布到IOS平台在XCode中编译会出现很多错误,这可能是Unity的一个bug,尝试了很多次才发现这个问题。如下
安装完成后先不要启动unity,找到C:\ProgramData\Unity\index-local.xml 文件,删除再启动。否则可能会出现
Missing assembly......
的很多错误。这应该也是unity的一个bug,在安装了多个版本的unity之后对IOS程序集的引用会出现错误。
Unity相关设置:
Graphics APIs须选择Metal,很多博文上说要改成“OpenGLES2”,这会导致在XCode中运行的时候应用无法直接启动,但是应用已经发布成功,停止运行手动点击应用图标才可以正常启动。
XCode设置:注意通过XCode打开后先不要编译,完成以下工作再编译
在搜索框输入 Other li ,添加两项 -ObjC -w
错误解决:
Build时报错:“MapFileParser.sh Permission denied”
解决方案:在终端中输入chmod空格+x空格/path(MapFileParser.sh文件路径)
例如:chmod + x/Kaifa/Projects/App/MapFileParser.sh
创建完项目后报错:Missing assembly
D:\ProgramFiles\Unity2017\Editor\Data\PlaybackEngines\iOSSupport for iPhone. Playersupport may beincomplete.UnityEditor.Modules.ModuleManager:InitializeModuleManager() 等很多类似错误。
解决方案:关闭Unity,删除C:\ProgramData\Unity\index-local.xml 再打开Unity 就ok了
发布真机时提示:xx的iphone is busy:Preparing debugger support for…。
解决方案:等很长时间就OK了,或者重启手机,重启XCode。
发布到iPhone7照片