安卓和苹果存在操作系统系统差异,所以有些不一样。如:安卓的启动页面是根页面,并且可以设置显示时间;而苹果的启动页面是一个类似图片的容器(Launch Screen.storyboard),不像其它页面可以控制页面显示,这个显示时间由系统决定的(加载大量数据才显示首页的慢,如:支付宝,微信。新手机的启动页面很短,旧手机显示的较长。若app使用时闪退或杀掉,再次启动时显示的一般不是启动页面,是上次的屏幕截屏),无法动态修改,无法设置显示时间,苹果的根页面一般是首页。因为安卓和苹果存在系统差异,所以并不必追求两者所有的都统一。毕竟两者有差异的是少数,所以要大多数统一,但不是百分之百统一。
经过研究大厂苹果app,只有微信有版本更新,其它的都没有版本更新。有人说,为何看到很多app都会弹出版本更新呢?因为苹果保证他们审核时不能看到弹出版本更新,其它的只要不牵涉虚拟货币等和苹果收入有关的,他们就睁一只闭一只眼。由于苹果审核人员都是用给他的审核账号测试的,所以有的app只让这个账号能正常使用和看到不违规的指定内容,其它的用户看到正常的内容。只要你的app没有违规的内容,苹果也不找你麻烦。但是你的内容有审核时屏蔽违规的虚拟货币等内容,搞不好,苹果就把你的账号封了。因此产生一个新的职业:做马甲包。
在做app国际化时就无法根据语言或地区切换启动页面。若只想一个app支持完全国际化,只能设计一个无语言内容的启动页面。
我见到一个老板说启动页面苹果显示时间太短,要和安卓一样显示启动页面。我和他解释了很久,但是他还是坚持要我们这样做。没有办法,我们只有在启动函数里阻塞进行,让它睡1秒。本来我们都追求app启动快,这可好,非要把的启动速度降下来,啥事不干,傻等1秒。这不是明白着把苹果的优点抹去吗?这就是外行指挥内行。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [UIPasteboard generalPasteboard].string = @""; usleep(1000000);
苹果审核时不能看到弹出版本更新,关于我们里不能有版本更新,其实苹果的版本更新不是真的更新,只是跳转到苹果商店对应的链接地址。这样苹果也会拒绝。只是有的审核人员不看关于我们的版本更新,所以没有拒绝,有的看。不过苹果开发都搞怕了,直接安装关于我们有版本更新,苹果没有版本更新。这成了不成文的规定。苹果审核拒绝的理由是:苹果商店有自动更新机制,就是设置自动更新。不过打开了,所有的app的自动更新都打开了,不是浪费我们的流量吗!它就这样任性。
app的隐私政策和官网不能看到安卓的信息,特别是安卓的下载二维码,不然苹果会给你拒绝掉。因为苹果说你有营销非苹果的内容。安卓都对这些不讲究。