iOS游戏开发及提交的一些「坑」及「解决方案」.docxVIP

iOS游戏开发及提交的一些「坑」及「解决方案」.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  鉴于在iOS类的游戏开发和提交审核的过程中老是遇到一些坑,为了避免在同一个坑里跌倒两次,故在产生了记录之的想法。经过了几个月,已经积攒了十个坑,现在将其共享出来,以后将会持续更新。17xuee游戏学院推荐:  笔者已经将本文markdown源文件放在了Github上,通过Fork和PR来提交你的「坑」和「解决方案」,帮助笔者完善之。你也可以通过关注这个项目对这些「坑」保持持续关注。  iOS设备出现本地存档丢失  描述:在苹果设备上,当系统提示存储空间已满时,发现本地的存档会丢失。  原因:在默认情况下,本地存档放在了/Library/Caches下面,根据苹果官方的描述,放在/Library/Caches目录下的任意文件将在系统弹出存储空间将满的警告时被系统清空。  解决方案:将所有数据和热更新文件放在/Library/Application Support目录下,此目录下的所有文件在收到空间将满警告时不会被移除。此外,这还避免了放在Documents目录下可能会被苹果在审核中干掉的风险。  Apple Watch 版本提交失败  描述:首次向AppStore提交带Apple Watch的版本,提示失败,导致提交无法继续。  原因:Apple Watch版本的AppIcon的PNG图带了Alpha通道,故被拒。  解决方案:去除Apple Watch版本的所有AppIcon的PNG图的Alpha通道。  Apple Watch 版本审核被拒  描述:Apple Watch版本提交后,在苹果审核的阶段被拒了。  原因:在iPhone上的Apple Watch的这个应用内,我们的游戏名称显示为codename:xxx ios。  解决方案:发现在Watchkit Extension的Info.plist里,Bundle name为默认的PRODUCT_ID,这就是我们的codename,将Bundle name修正为游戏名称即可。需要注意的是Bundle name不等同于Bundle display name,前者用于系统的设置的一些显示名称,后者用于在Launcher的App的名称显示。    单机游戏内购(IAP)被破解  描述:根据后台的Counter报告,我们确信我们的单机游戏内购被破解了。  原因:一个高度可能的原因是我们把订单编号存在本地的一个缓存文件里,每次去苹果服务器询问订单是否成功时,先去此缓存文件内查找是否有相同的订单编号,若找到则说明订单有重复发。但是一旦玩家删除了这个缓存文件,则可反复利用一个已经支付成功了的订单号来反复刷了。  解决方案:最稳妥的解决方案是将订单编号存在服务端,然后对服务端的通信进行加密。我们采用了一种不走服务器的方法:即在首次充值成功时,给金币的缓存文件添加一个标记位(负号),然后查询订单缓存文件时,先去查询此标记位,若找到标记位,则说明之前充值过,订单缓存文件应有内容,如果订单缓存文件内容为空,或找不到有意义的订单编号,则说明玩家作弊,此次充值金币将不会加上(作弊惩罚)。由于缓存文件事先已被AES加密过,所以玩家很难去找到该标记位。  Apple Watch OS2 运行时找不到图片  描述:Apple Watch OS1的版本一行代码没改,但运行起来却提示图片无法找到。  原因:WatchKit App 下的Images.xcassets里的图只设置了1x的图片,2x和3x没有设置。  解决方案:设置好2x和3x的图片。  用Application Loader 上传二进制时报错ERROR ITMS-90168: The binary you uploaded was invalid.  描述:同标题。  原因:未知,可能跟Xcode升级到7有关。  解决方案:打开命令行,输入以下代码:12345cd ~/.itmstransporterrm update_check*mv softwaresupport softwaresupport.bakcd UploadTokensrm *.token  iOS 9 以下的设备不支持ReplayKit导致无法启动游戏  描述:同标题。  原因:ReplayKit是iOS9才引入的framework,所以无法在iOS9以下的设备上使用。  解决方案:打开Xcode,在target的Build Phases下搜索ReplayKit,把ReplayKit.framework的Status由Require改成Optional。同理,在遇到低版本iOS系统不支持的情况,比如iOS8以下不支持CloudKit,一律将framework的Status由Require改成Optional即可。  Xcode 7以上默认不支持http请求  描述:App

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档