升级最新的Xocde6后,如果不是最新版本的unity,虽然也可以也可以正常的build,但如果想通过unity连真机进行profile的话,就会在xocde中报错,这个的主要原因是unity的配置里并没有最新Xcode版本的识别,unity4.5.4升级可以解决这个问题,但如果因为项目需要而无法升级的情况下,就需要自己手动设置来解决了。
操作也很简单,就是UUID在plist之间拷贝的工作。
首先,进入Application目录,显示Xcode的包内容,打开/Applications/Xcode.app/Contents/Info.plist,拷贝里面的DVTPlugInCompatibilityUUID内容
Xcode plist : /Applications/Xcode.app/Contents/Info.plist
然后,在Applications/Unity/里找到unity3d,显示包内容,在/Contents/PlaybackEngines/iOSSupport/Tools/OSX/Unity4XC.xcplugin
选择Unity4XC.xcplugin显示包内容,找到里面的Contents/Info.plist
打开plist,把之前的复制的DVTPlugInCompatibilityUUID添加到DVTPlugInCompatibilityUUIDs里。
Unity plist : /Applications/Unity/Unity.app/Contents/PlaybackEngines/iOSSupport/Tools/OSX/Unity4XC.xcplugin/Contents/Info.plist
重新启动unity,就可以正常的使用unity来进行真机profile了。
不过因为PowerVR的tbdr架构设计,我们是无法再unity里profile到ios的gpu信息的,如果想进行gpu调试,建议还是使用Xcode的Analyze功能好一些
另外这周恰好再做unity PBR的优化工作,结果一个只有20多draw call的场景,在一台ios8.02的ipad air只有不到10fps,比之前在ios7.x上测试时慢了很多,另外一台升级到ios8.1的pad ari就有20多fps,但等我升级为xcode6.1后在发布,fps又降为不到10fps,不知道是unity的问题还是ios本身的bug,打算升级到最新u3d再试试。