几个IOS版本的坑

0

1. 使用HTTP请求的设置
游戏使用HTTP请求下载进行配置更新,但如果在IOS9版本直接使用的话是连不上的,要在Info.plist中添加一些东西,具体我是不知道,反正是要加:
clipboard
截图中的NSAppTrasportSecurity输入之后会自动变成App Transport Security Settings。

2. unity导出IOS 64位版本
unity要导出IOS的64版本需要在PlayerSetting中设置:
clipboard[5]

导出XCODE之后,在XCODE的 BuildSetting -> Architectures中的Architectures选择StandardXXX,即支持arm64的即可(如果不是的话)
同时在上传到苹果审核的时候如果提示什么ipad,ipod什么的关于屏幕的问题,这个可以在General->Deployment Info 中勾上 Requires full screen

3. XCODE编译的时候提示某些libraries没找到
这个主要是出现在添加了第三方库什么的时候,明明都按着步骤添加正确,但还是会出现这种奇怪的问题。解决方法是在BuildSettings中的SearchPaths的Library路径中带双引号的,把引号删掉。

4. web服务器下载不到最新内容
web服务器更新配置文件,遇到个问题,其他平台都很正常,就是IOS虽然检测到需要重新下载,但下载下来的还是旧的版本。最后是在请求URL中加入一个时间戳类似 xxx?201502020202之类,保证每次请求发送的URL都是不同的,这样就可以更新下最新的来了

5. 出现’System.Int32[]::System.Collections.Generic.ICollection`1.CopyTo’ for which no ahead of time (AOT) code was generated.错误
我是在安装了Bugly之后,由Bugly上传的这个错误,游戏中也确实有很多地方出现了错误。
主要原因是“代码中有使用int[]的ToList方法,而此方法在iOS上是没有实现”
比如
int[] xxx = new int[3];
List<int> lst = new List<int>(xxx) 或 lst.AddRange(xxx) 都会导致这个问题
数组转给List只能使用for循环给list了

6. 出XCODE开发版本提示An App ID with Identifier ” is not available. Please enter a different string的问题。

我做了一些动作,也不知道是不是所有的动作都有用,包括重新下载证书什么的,最后一步是
XCode->preferenc->Account->选择账号->View Details->Download All -》 Done. 重启。再出就可以了。估计是最后这一步管的用。
另外说一句,历史上Archive过的可以通过 Window->Organizer打开那个窗口查看