1,购买一台Mac或者用VMWare 安装Mac OS流程,笔者使用VMWare。

  • 先安装Mac OS 10.13,教程,成功后不要着急安装vmtools, 首先更新系统至最新版,因为真机测试往往需要新版xcode,而新版xcode有需要新系统。
  • 我升级到macOS High Sierra 10.13.6后,开始安装vmtools。重启后,发现还是无法全屏。不要着急在系统偏好设置里,安全,允许运行Vmware扩展。
  • 允许运行Vmware扩展后,在系统偏好设置,显示器里可以设置高分辨率。并且可以全屏了~
  • 因为要在日常开发中使用,所以切记硬盘多给一些,至少60G。xcode和unity都很大的,两个合起来20G+。虚拟机硬盘扩充也很耗时,最好一次到位。
  • 在虚拟机里系统升级系统确实是个挑战,挂一宿就好,不用盯着。最终可以成功,附上截图,以激励后来人。

2,购买海外开发者账号,笔者选用美国账号

  • 购买时时填写地址,请随意,但需要真实存在。(最好不要填苹果总部)
  • 购买时信用卡,国内单标Master/VISA即可,并不需要美国信用卡。
  • 购买时预留电话可以使用美国Google Voice。
  • 我使用美国亲戚名字注册的,结果居然没有任何身份验证流程,早知道真应该用自己的名字。(现在游戏上线了,但是版权人不是藕ㄟ( ▔, ▔ )ㄏ)
  • 提交上线也没有需要身份验证流程。(免费游戏不需要审查税务身份,收费游戏可能会比较复杂,网上都是推荐购买东南亚那边的开发者)
  • 购买开发者时,笔者填写的地址是纽约,该地区有税费需额外多付7美金。(地址填写免税区,可省下这笔钱)
  • 最好开美国VPN,且把Mac系统操作语言设置为英文,时区设置到美国。
  • VPN+单标国内信用卡+美国GV+随意的地址,开发者名字可以留自己。但是如果是收费游戏,你后续还要补手续(收费人可以不是开发者本人,但必须是国外的合法人),免费游戏则可以跳过。
  • 即便购买海外开发者,想要上中国区appstore也是需要广电总局批准的。
  • 这只是我个人的经历,不代表按照相同流程你可以申请成功。

3,项目研发时引擎问题

  • iOS app启动时,提示“Hidden/BlitToDepth Shader Not Supported.......”,并没有crash,但是消耗了部分时间。尝试各种google方法都无效,好吧,换最新的unity2018问题解决了。
  • 粒子特效问题,特效的勾选world space,使用Emit方法生产粒子特效。pc上没有任何问题,ios上帧率稍微低一点,粒子特效就乱飞的感觉。只能靠关键字不断google摸索查询,最终看到此网址。Unity粒子特效6年未修复的bug(我使用andy lee提供的方法)
  • 项目使用ScriptableObject ,在editor mode 模式运行没有任何问题,但是build的版本报告空引用。好吧,原来ScriptableObject 文件名 和类名 必须保持一致才行。这。。。

4,项目研发时琐碎问题

  • app启动界面的问题,unity plus和 pro 可以关掉 unity的splash。但是无法关掉苹果的,苹果splash可以在unity 的 splash mobile image配置。
  • 我的app在时启动时,先黑屏然后在显示splash image,这个原因和可能是装了很多次这个程序,ios系统缓存splash了导致。尝试重启看看是否解决。
  • 我的app 是单机的,但是启动时还有联网访问,怎么回事,原来unity会统计一些数据上传的unity网站。这个功能只有plus版本和pro才能关掉。在player setting里名为disable HW。

5,项目日常工作

  • 挑美术资源和音乐,确定美术风格和音乐风格。看别人的游戏是如何设计的。比如敌机如何飞行,弹幕形式等。之后加以创新和改造。
  • 美术资源和音乐资源均购买于Unity Asset Store,担任logo和游戏开始界面啥的不是。
  • 把别人的弹幕转换为代码,真心不容易的。嘿嘿,当然我也设计了一些独一无二的弹幕~。
  • 一个人搞定一切确实收获很多,但是效率其实也低不少,需要在多种工作中来回切换。后来我每天用日记本规划好自己明天需要处理的问题。第二天一项一项的完成。
  • 做了很多编辑器方面的工作,在这里真心推荐大家两篇英文文章,对自定义inspector很有帮助。教程

5,项目使用的版本管理:

  • SourceTree
  • 支持私有项目,不需要自己搭建版本服务器,免费,多平台,苹果能用,window也能用。
  • 我在window上push,在mac os上pull。
  • 兼容unity 云构建。这点对于一些人真的很重要。

6,项目提交审核时:

  • 走正常流程,注册bundleid, appid。创建证书,下载证书。这些我就不再赘述。随便搜搜就有很多。
  • 所有国家的苹果开发者,在他们发布app时都能看见来自中国广电总局一段话。。。我们的祖国真强大~
  • 唯一碰到的问题时,上传app时,Authenticating with the iTunes store卡住不动了。通过这篇文章可以解决
  • 别人文章有网友留言问,mv .itmstransporter/ .old_itmstransporter/ 执行出错,提示 old_itmstransporter not empty directory.
  • 遇到此问题,先使用 rm  -r -f .old_itmstransporter/ ,然在执行mv命令。
  • 第三条指令,要下载好多东西呀,经常卡在epubcheck-runner 和 asperasupport ,让mac自己下了一宿都没搞定。
  • 第二天早上,Ctrl+C 重新来一遍,15min搞定了,也许就是单纯网络问题。
  • 对了发布时还需要提供技术支持网站,有网友说可以提供博客。因为我的身份是国外开发者,所以域名注册和服务器都选择美国wordpress。
  • 当然啦,国内开发者可以选用cnblog
  • 网站加域名的费用全下来,大概60美金一年,不过这个网站到是可以为后续其他项目所用,网站全球可访问,中国也可以。
  • 审核时还需要为自己的app定级,主要针对性和暴力。最好情况就是4岁就可以play。
  • 还要提交关于IDFA的信息,IDFA是一串16进制的32位串。有了IDFA之后,相当于广告追踪,你所有的浏览历史都会别的商家利用,给你推相同或相似的广告。关于这一点有广告的同学提前就要注意了。
  • 还要确定程序是否使用encryption加密api。关于这一点有使用加密算法的同学提前就要注意了。
  • 提交成功后,笔者等了大概不到30个小时,游戏就审核通过。
  • 审核通过后,游戏依旧不能上线,你需要完善你的合法银行卡纳税号。当然免费游戏这部可以跳过直接上线。

7,提交后可以先进行testfight

  • 这个东西还蛮不错了,把app提交之后。在审核之前,可以自己进行内部测试。
  • 测试app通过testfight 下载。
  • testfight能反馈各项数据给你,还可自定义测试受众。

8,心语

  • 这个游戏全球上线了~ 除了我的祖国~
  • 避免任何广告嫌疑,我在正文中,没有提到任何我游戏的名称。
  • 该游戏下载免费,没有内购,没有广告。我只是单纯的表达自己一下自己对stg理解,完整的走一遍苹果从开发到上线流程。
  • 这个项目共花了我一个人3周时间。游戏量级较小,但游戏框架支持继续扩展更多关卡和更多的武器,不过需要买更多的美术资源和音乐资源,有点伤。

关于本文有任何疑问,欢迎您在评论区留言。笔者生活在成都,如有合作意向,可以私信我。

【原创文章,禁止转载】谢谢合作

我的小游戏上线海外AppStore完整流程心得的更多相关文章

  1. 最新Xcode7.x环境下上架iOS App到AppStore 完整流程

    最新Xcode7.x环境下上架iOS App到AppStore 流程  part 1 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iTunesConnect ...

  2. 微信小游戏“跳一跳”,Python“外挂”已上线

    微信又一次不声不响地搞了个大事情: “小游戏”上线了! 于是,在这辞旧迎新的时刻,毫无意外的又火了. 今天有多少人刷了,让我看到你们的双手! 喏,我已经尽力了…… 不过没关系,你们跳的再好,在毫无心理 ...

  3. 看一眼就学会的 HTML 小游戏搭建!

    本文作者:CODING 用户 - xfly 身边经常会有小伙伴问我有没有办法不买服务器也能上线自己的个人项目,比如不少同学都非常喜欢搭建一个属于自己的博客站点或者小游戏等. 目前相对比较简便的且不花自 ...

  4. 微信小游戏爆款秘笈 数据库MongoDB攻略篇

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB 发表于云+社区专栏 随着微信小游戏的爆发,越来越多开发者关注到MongoDB与小游戏业务的契合度. ...

  5. flash小游戏在Kongregate上线——BasketBall Master(篮球大师)

    小游戏地址,欢迎上去留言评论.游戏完成度没有达到期望水平,只能算完成了核心玩法吧,一些其他构想来不及实现. BasketBall Master(篮球大师) 这个小游戏很早之前就基本做好了,只因有些细节 ...

  6. 【转】Fundebug上线微信小游戏错误监控!支持自动截屏!

    摘要: Fundebug竭诚为你的小游戏保驾护航. 想必大家都玩过"跳一跳"吧?刷排行榜的感觉是不是很好啊!还有"知乎答题王"呢,在智力上碾压老铁简直太棒了! ...

  7. Java打飞机小游戏(附完整源码)

    写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码写的很 ...

  8. 完整版本的推箱子小游戏,最简单的纯C语言打造

    /* 推箱子小游戏 1.定义绘制样式 用二维数组的方式 2.绘制图像 3.找出当前位置 4.逻辑判断,制造动作 根据数学xy轴的规律,这里使用ij 上移,行轴上升,行数减少 下移,行数下降,函数增加 ...

  9. iOS开发实战-基于SpriteKit的FlappyBird小游戏

    写在前面 最近一直在忙自己的维P恩的事情 公司项目也是一团乱 于是...随手找了个游戏项目改了改就上线了,就当充数了. SpriteKit简介 SpriteKit是iOS 7之后苹果推出的2D游戏框架 ...

随机推荐

  1. October 24th, 2017 Week 43rd Tuesday

    We can't give up trying. The fight was worth it. 我们不能放弃尝试,奋斗是值得的. When doing researches in some cutt ...

  2. 聊聊MySQL的子查询

    1. 背景 在之前介绍MySQL执行计划的博文中已经谈及了一些关于子查询相关的执行计划与优化.本文将重点介绍MySQL中与子查询相关的内容,设计子查询优化策略,包含半连接子查询的优化与非半连接子查询的 ...

  3. k8s mongodb 集群配置

    service.yaml apiVersion: v1 kind: Service metadata: name: mongo labels: name: mongo spec: ports: - p ...

  4. css里颜色的那些事儿(合法颜色值)

    css中主要有六种方法指定颜色: 1.十六进制颜色 2.RGB颜色 3.RGBA颜色 4.HSL色彩 5.HSLA颜色 6.预定义/跨浏览器的颜色名称 前三种是我们最常见的,也是用的最多的,而后三种对 ...

  5. XML 读写(XmlDocument、XPathNavigator、XDocument)

    内存中的 XML 处理 基于流的 XML 处理提供了最小的负载,但也只提供了最小的灵活性.在很多 XML 处理场景里,你不会在这么低的层次下工作. 对内存中的 XML 的处理则更加方便,但没有单一.标 ...

  6. OpenCV——Harr特征

  7. auto关键字使用

    auto类型变量--根据初始值推断真实的数据类型. 有些时候并不能很确定一个变量应该具备的数据类型,例如:将一个复杂表达式的值赋给某个变量,此时并不能很明显的确定这个值所具备的数据类型.此时auto关 ...

  8. jqgrid 宽度自适应

    当jqgrid所在操作区宽度大于了给各列设置宽度之和时,此时表格的宽度未铺满操作区,效果不理想 此时,可以通过配置宽带自适应来现实表格内容自动铺满. 配置属性 shrinkToFit:ture 若要启 ...

  9. mysql中唯一约束用法

    以前比较naive,有次同事一定要在表里建唯一约束的时候,我就很纳闷为啥非要在db层面做限制,在自己的业务代码里做啊,就是说入库的时候先查一遍有没有,没有记录的情况再准许入库. 后来发现如果只是自己处 ...

  10. 基于TLS证书手动部署kubernetes集群(上)

    一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统衍生 ...