说出来都觉得不好意思,前几天跟同事要开发者账号真机调试,这才发现原来从Xcode7开始就可以免证书真机调试了,有种天塌了了赶脚,丢脸了。为了避免类似尴尬,想来总结一下因版本迭代而出现的一些好用的功能。太久远的版本,基本都在用着了,本文主要介绍Xcode的7,8,9版本与开发相关便利功能。
一. Xcode7
免证书的真机调试
在Xcode7以后, 不再需要购买开发者以及进行繁琐的设置, 你就可以在任意的设备上进行开发和调试了. 只需要注册一个Apple ID。安装APP的过程中会提示在(通用->设备管理)页面的应用里面找到你的应用通过验证,之后就可用了。
步骤:
免证书的真机调试步骤
注意事项:
1.Bundle ID (Bundle Identifier)不能为其他中开发者账号中已经存在的APP ID
1.1 不要使用正式的bundle id 进行直接调试,如果app需要上架,并且在开发者网站没有创建appid,调试后,则会造成以后bundle id 已经存在问题
1.2 苹果可能对最频繁生成appid进行了限制(详情),7天内不能超过10个,当经常运行一些demo,非正式项目的时候,建议bundle填写或者修改成一个固定的bundle id进行调试2.项目版本需要小于真机iOS版本
3.需要删除某个账号的时候,删除本地profiles文件即可
/Users/YOURNAME/Library/MobileDevice/Provisioning Profiles/
附:
Xcode 7新特性
二. Xcode8
2.1 自动管理证书和描述文件
2.2 获取系统权限更加严格
在iOS10之后需要在Info.plist中,添加新的字段获取权限,否则在iOS10上运行会导致崩溃。
麦克风权限:Privacy - Microphone Usage Description
是否允许此App使用你的麦克风?
相机权限: Privacy - Camera Usage Description
是否允许此App使用你的相机?
相册权限: Privacy - Photo Library Usage Description
是否允许此App访问你的媒体资料库?
通讯录权限: Privacy - Contacts Usage Description
是否允许此App访问你的通讯录?
蓝牙权限:Privacy - Bluetooth Peripheral Usage Description
是否许允此App使用蓝牙?
语音转文字权限:Privacy - Speech Recognition Usage Description
是否允许此App使用语音识别?
日历权限:Privacy - Calendars Usage Description
是否允许此App使用日历?
定位权限:Privacy - Location When In Use Usage Description
我们需要通过您的地理位置信息获取您周边的相关数据
定位权限: Privacy - Location Always Usage Description
我们需要通过您的地理位置信息获取您周边的相关数据
2.3 推送增加UserNotifications
框架
iOS10的推送框架UserNotifications以及UserNotificationsUI
iOS - 喵神UserNotifications 框架解析
2.4 会出现杂乱无章的Log
添加OS_ACTIVITY_MODE
字段,并设置为Disable
。
三. Xcode9
3.1 WiFi或有线网络调试iOS
3.2 支持AR开发
附:
不可能不爱的 XCODE 9:最新功能详尽介绍
Xcode9 新功能
主要介绍一下与开发密切的内容,也算了解了一下,改天测测玩儿。