UE4.7以后正式源码免费了,正好最近工作也在做这部分,ue4的官方文档虽然有一部分ios平台的资料,那也只是通过编辑器来发布或预览一类,但手游程序员都知道,一些cpu和gpu性能上的调试是在所难免的,所以还是有必要通过Xcode来真机运行的。这点U3D还是比UE4体贴多了,发布时就自动生成Xcode的工程了,而UE4这方面的资料官方还是没有一个合理的流程或文档。这里就分享下我在4.7时的流程和遇到问题的解决方法吧。
首先你要从github或其他地方下载ue4的源码,如果是github上获取的话,如下图所示,要先运行Setup.command来下载依赖的库和资源。然后运行Generally..command来生成UE4.xcodeproj,然后点击进入xcode工程。
进入Xocde后,你需要build两个东西,一个是UE4Editor-mac,一个是UE4Game-mac,前者的用处就不用说了,后者在你package时有用处,如果没有会在打包时报错失败。
然后是比较重要的一点,你需要修改你的Scheme,从Debug变为Development,如果不修改,一个是他会编译出一个叫UE4Game-xx-Debug的项目来,而不是打包时调用的UE4Game。或许你可以手动改名,但这个方法在4.5时可行,但在4.7时会出现错误,这个后面讲。(注意下图1是-Mac也要选)
、
然后编译运行UE4Editor,启动后还是选择创建SunTemple这个比较经典的工程好了。
这里可以先Package Project->iOS,会让你选择打包位置,和SunTemple放在一起就好了,,如果你前面设置都正确的话应该会在log里显示成功的打成一个ipa包。然后Refresh Xcode Project后就会有一个生成一个Xcode的工程了,在项目那边打开,或者在编辑器里选择Open Xcode就可以在Xcode打开工程来真机发布和调试了。
这里UE4Game-iOS也要改成Development
否则的话,就如下图这样在运行时崩溃在loadmap里,原因谁要了解也请告知我吧。
正确的话,就可以通过gpu capture frame来进行调试了,开发者帐号的配置可以参考官方文档。
还有个问题就是,当你第一次启动时,Xcode会弹出下图类似的信息,这个时候不要点OK来关闭。
而是进入iOS设备,找到你新安装的app图标哪里
当你点击图标后,会弹出一个是否信任开发者的对话框,点击信任后
这个时候就可以点击OK来进行联机调试了。