版本迭代与App Store上架

前言

自从Xcode8引入了Automatic manage signing,广大iOS Developer终于松了很多口气了。(幸运的我是在这之后才有上架的经历,嘿嘿!)现在的上架也就不再那么多坑点了,很多步骤都是水到渠成。这篇博客就分享一些我在这过程中的经验,同时也会粗略演示上架的过程和注意事项,最有价值的是两个被拒的原因,一定不要错过哟!

版本迭代

之前实验室里做过的一个关于智能停车的项目——停如意,需要将之前用文本框输入车牌换成用指定的自定义键盘让用户更方便的添加车牌号。然而,在刚开始动工时发现原来的工程运行后,点击登录程序直接崩溃!淡定,先加个全局异常断点来看看哪里出问题了:

这里写图片描述

然后发现是登录请求参数有一个为nil导致的,这个参数是deviceToken。做过远程推送通知的朋友就知道,这是一个设备标识符。既然获取不了设备标识符,那么注册通知就不会成功,不妨先看看失败原因:

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    NSLog(@"error: %@", error.description);
}

原来是通知证书失效了,在开发者中心重新配置通知就可以了。

这里写图片描述

//之前是Disable

这里写图片描述

后面就是正常的开发流程了。对于自定义键盘,在iOS 10以下,你需要持有当前键盘控制器的实例(UIInputViewController),否则会出现界面布局无法实现和按钮行为响应错误等问题。在iOS 10以上系统会自动持有,为了兼容考虑,你还是应当自己完成这份工作,就像这样:

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    //......
    _carPlateViewController =[[EPCarPlateViewController alloc] initWithKeyboardType:type hiddenType:hiddenType];
    _carPlateViewController.delegate = self;

    UIView *inputView = _carPlateViewController.inputView;
    inputView.frame = viewFrame;

    textField.inputView = inputView;
}

App Store上架

- - 构建版本 - -

对于一个全新的App,需要先新建App。使用开发者账号登录iTunes Connect,点击我的App,就会进入如下界面:

这里写图片描述

点击+,选择新建App:

这里写图片描述

然后依照提示依次填写信息就行了。对于版本升级,就点击那个需要升级的App,然后点击添加版本:

这里写图片描述

然后依照提示填写信息就行了。

- - 打包上传 - -

将对应版本号的工程文件打包并上传到App Store

这里写图片描述

然后静静的等待打包成功……

开始上传:

这里写图片描述

可能你会发现始终上传失败,原因你懂的。感谢Stack Overflow上大神们的探索,你只需要在终端执行这条命名就行了:

这里写图片描述

命令是:”/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter” (需要将引号改为英文格式)

当你把这条命令执行完毕之后,上传的过程就会变得很顺利,而且以后都会是这样。

- - 提交审核 - -

此时,你需要完善你的应用信息,以便更好地在App Store展示。针对于屏幕快照,你需要5.5寸设备(iPhone 某Plus)来截屏,然后可使用QQ选择原图传送到你电脑上,随后添加到里面即可。对于App Store图标,你需要上传一个1024 ☓ 1024的icon,最好是jpg格式的,否则可能出现这个问题:

这里写图片描述

将所有信息填写完毕后,保存并提交审核即可。

- - 被拒的理由 - -

这里写图片描述

回答这几个问题:

  1. 你的App用户是谁?
  2. 你的应用是为特别的组织设计的吗?
  3. 用户怎样获取一个账号?

因为这是一个休渔期船只管理App,只有管理人员使用,管理人员的账号是后台申请下发的,所以审核人员需要你回答以上问题。之后应用就成功上架了。

这里写图片描述

因为这个原因被拒的话,你就必须重新上传修改后的二进制文件。根据审核回复的消息来看,被拒的原因是因为启动引导界面的手机模型是Android手机。因为:

这里写图片描述

总结

有朋友戏称iOS开发人员都是折翼的天使,因为Apple会有各种奇葩的理由来拒绝你辛辛苦苦开发的应用。Anyway,遵守规则就不用怕了,被拒的多了就会有经验了,大不了再来一次了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值