Xcode 8 打包上线 iTunes Connect 找不到构建版本

最近苹果推出新的mac操作系统(macOS Sierra 10.12),大家可能都已经升级了,作为一个开发者,小编肯定是第一时间升级。随之,开发工具 Xcode 也升级到了最新版 Xcode 8.0。

马上就到国庆了,想必很多人和小编一样在加班赶进度,上架项目。当我们把一切BUG解决完(当然这是不可能的),提交成功之后,欣喜的去 iTunes Connect 上发布版本时。

咦...哇...怎么回事?构建版本旁边没有出现我们预期的 “加号” 按钮,这让我们如何发布新版本。

网上搜了搜,很模糊,都指的是 iOS 10 权限问题,可是到底是什么权限问题,该怎么解决。这里小编就告诉大家:

1、如何解决iOS10权限设置问题

2、如何避免这样类似的问题


一:iOS 10 权限设置问题:

iOS 10的一大变化是更强的隐私数据保护。如果你不设置相应的权限就会crash(比如:大家最近遇到的选择相册、相机 crash问题)。解决办法是在 info.plist 文件中添加对应的Key-Value权限就可以了。

添加权限有两种方式:

方式一:

1、在工程找到 info.plist 文件:Supporting Files -> info.plist -> 右击 -> Open As -> Source Code ,打开plist文件。

2、根据项目权限需求,复制 以下 相应 Value 和 Key 到 plist文件中。

访问蓝牙:

<key>NSBluetoothPeripheralUsageDescription</key>

<string>访问蓝牙</string>

访问相机:

<key>NSCameraUsageDescription</key>

<string>访问相机</string>

使用期间访问位置:

<key>NSLocationWhenInUseUsageDescription</key>

<true/>

访问麦克风:

<key>NSMicrophoneUsageDescription<key/>

<string>访问麦克风</string>

访问相册:

<key>NSPhotoLibraryUsageDescription</key>

<string>访问相册</string>

始终访问位置:

<key>NSLocationAlwaysUsageDescription</key>

<true/>

访问通信录:

<key>NSContactsUsageDescription</key>

<string>访问通信录</string>

方式二:

在工程找到 info.plist 文件,打开plist文件,直接添加。

plist文件

Value部分的文字是展示给用户看的,小编试了一下是必填的(其他权限,希望大家积极评论)。

添加相册权限后的效果:

访问相册1

访问相册2

如果Value文字为空,运行是没有问题的。但是打包提交,会收到苹果的反馈邮件,如下:

苹果反馈邮件

二:如何避免类似问题

其实这种问题解决起来很简单(根据苹果的反馈邮件),只是我们发现这个问题的过程很难,为什么呢?

1、我们每次提交一个版本后,苹果都会给 “公司邮箱”(注册苹果开发者账号的邮箱)发一封邮件。作为开发者,如果能第一时间收到这个邮件(下图:苹果反馈邮件),那么我们会避免浪费很多时间。

2、可是往往开发者账号都是用公司邮箱注册的,不可能将邮箱密码授权给开发人员。所以,我们可以通过这种方式,在 iTunes Connect 里将自己添加为开发人员,这样每次苹果也会给你发一封提交反馈邮件。

通过下面的邮件,我们可以很清楚看到,工程中缺少什么权限

苹果反馈邮件

添加iTunes Connect 开发人员:

登录iTunes Connect -> 选择用户和职能 -> 添加 iTunes Connect 用户 -> 填写用户信息 -> 选择职能权限(如:开发人员) -> ... -> OK

1、选择用户和职能

2、添加 iTunes Connect 用户

3、填写用户信息

4、选择职能权限

这样你就是苹果的开发人员了,希望这篇文章对大家解决问题能有所帮助。

文/onefboy(简书作者)
原文链接:http://www.jianshu.com/p/95f4c0930c39
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

最新文章

  1. PHP数组函数--array_filter
  2. IT人经济思维之投资 - 创业与投资系列文章
  3. android: 后台执行的定时任务
  4. opencv 在工业中的应用:blob分析
  5. [转]ASP.NET MVC中你必须知道的13个扩展点
  6. 使用Map辅助拼装树状结构,消除递归调用
  7. 数据库存储过程 — Sql Server
  8. log4cpp的初步使用
  9. Redis集群方案
  10. C# WinForm 跨线程访问控件
  11. 如何从二维数组中的多个key中获取指定key的值?
  12. python 访问 zookeeper
  13. Jmeter GIS调用--&gt;参数化+正则表达式提取器+后置处理器+逻辑控制器
  14. 星星闪烁+多边形移动 canvas
  15. 深度学习(pytorch)-1.基于简单神经网络的图片自动分类
  16. fedora更新
  17. js数组对象--数据格式的转换(字符串,对象的取值与赋值)
  18. 老男孩教育python全栈第九期视频
  19. Spring Boot系列学习文章(一) -- Intellij IDEA 搭建Spring Boot项目
  20. git 服务器新建仓库 远程仓库

热门文章

  1. 作用域内优先级及this指针
  2. MVC3远程验证
  3. LTE Module User Documentation(翻译2)——配置LTE MAC 调度器
  4. Ant build ${renderscript.opt.level}问题解决方案
  5. spring的下载地址(转)
  6. jsp的el表达式
  7. [转载] Linux下高并发socket最大连接数所受的各种限制
  8. 控制反转和spring在项目中可以带来的好处
  9. Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
  10. D3.js 选择元素和绑定数据/使用数据