Xcode8以及iOS10问题总结!
Xcode8的问题
注释功能问题解决
打开终端,命令运行: sudo /usr/libexec/xpccachectl 重启电脑
在xib和stroyboard出现大量警告,需要重新适配,字体所占用宽度变大
collectionView问题
屏蔽Xcode 8“烦人”的日志输出
更新到Xcode 8
的同学应该都遇到了这个问题:用Xcode 8
运行项目,日志会疯狂的刷,就像下面这种图一样:
于是,简单搜寻了下,“歪果仁”给出了如下解决方法:
Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = disable
这样设置之后,就屏蔽掉那些烦人的日志了。
【1】、Xcode8代 码出现ubsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0 2016-09-14 17:18:55.843428 MyApp[6880:340837]
解决办法:【product】-【scheme】-【Edit Scheme】-【Run】-【Argument】-【Environment Variable】添加keyValue【OS_ACTIVITY_MODE disable】可以停止输出打印此日志
遗留问题:还会出现Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x10a39a910) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x10a1c4210). One of the two will be used. Which one is undefined.
【2】MJRefresh出现崩溃现象
解决办法:类库增加判断
1
2
3
|
if (range.location != NSNotFound ) { language = [language substringToIndex:range.location]; } |
【3】iOS10字体隐藏问题
label的话写一个扩展类
-
第二步
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@implementation UILabel (Extend) - ( void )lableAdaptIOS10{ CGFloat iOS10 = [[UIDevice currentDevice] systemVersion].floatValue >= 10; if (iOS10) { // self UIFont 的preferredFontForTextStyle: 意思是指定一个样式,并让字体大小符合用户设定的字体大小。 [ self sizeToFit]; // self.font =[UIFont preferredFontForTextStyle: UIFontTextStyleHeadline]; //是否更新字体的变化 // self.adjustsFontForContentSizeCategory = YES; } } |
Xcode8总是打印一堆奇怪的东西。虽然不影响开发,但是看着很不爽。解决的方法就是在Scheme里面添加OS_ACTIVITY_MODE = disable
-
第一步
-
第二步
-
- 签名出错,Xcode8可以自动替开发者生成证书描述问题
- 参考网站https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.com.sg&sl=en&u=http://stackoverflow.com/questions/37806538/code-signing-is-required-for-product-type-application-in-sdk-ios-10-0-stic&usg=ALkJrhgcKvLVlgyIWGq9xcDjdoXGh2BpPg
- 需要FQ
-
-
-
现在做的Xcode - >产品 - >清洁。 关闭您的项目在Xcode并再次打开它。
-
在此之后到您的每一个目标的常规选项卡,勾选“自动管理签名”,并在团队下拉菜单中选择您的开发者账户
-
- 官方网站
-
ERROR ITMS-90682: Invalid Bundle - The asset catalog at 'Payload/XXXXX/Assets.car' can't contain 16-bit or P3 assets if the app supports iOS 9.3 or earlier.
刚升级Xcode 8, 幺蛾子又出现了。提交的时候出了这个问题。 BTW,感谢google。以下为解决方案:‘
在 Xcode 8 中,当你资源文件中[含有16位图]或者[图片显示模式γ值为'P3'] 且iOS targets设定为iOS 9.3以下就会出现这个问题. 如果你的app需要支持广色域显示的话,那你必须得把target设置成iOS 9.3+,相反,如果你的app不需要支持广色域且你想兼容 iOS 9.3 之前的项目,你就得把所有的16位的或者显示模式为'P3'图片全都替换成8位模式的SRGB颜色的图片。
你可以通过运行“assetutil”在iTunes Connect的错误信息中找到16-bit 或 P3 资源文件。离线的解决方案如下:
1.导出项目的 ipa 文件
2.定位到该ipa文件修改后缀名.ipa 为 .zip.
3. 解压该 .zip 文件. 解压后的目录里面会有一个包含着你的 app bundle 文件的 Payload 文件夹.
4. 打开终端病切换到你的app的Payload文件夹下的 .app bundle 文件夹内,形式如下:
cd path/to/Payload/your.app
5. 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下:
find . -name 'Assets.car'
6. 使用 assetutil 命令找到任何包含着 16-bit or P3 的资源文件, 对每个 Assets.car 之行以下命令 :
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
注:这里的/path/to/a/Assets.car 指的是Assets.car的路径,不要直接复制!!!使用上一步find命令的结果。
------------------2016-09-21更新----------------------------
-------------------end of the update--------------------------
7. 打开上一步生成的 /tmp/Assets.json 文件并查找包含有 “DisplayGamut": “P3” 或者相关的内容. 这段json的"Name"字段对应的值就是16位或显示的γ值为P3的资源文件名.
8. 找到这个资源文件修改为 8位的sRGB形式,重新编译上传你的app即可.
iOS10 配置须知
在iOS10中,如果你的App想要访问用户的相机、相册、麦克风、通讯录等等权限,都需要进行相关的配置,不然会直接crash。
需要在info.plist中添加App需要的一些设备权限。NSBluetoothPeripheralUsageDescription
访问蓝牙NSCalendarsUsageDescription
访问日历NSCameraUsageDescription
相机NSPhotoLibraryUsageDescription
相册NSContactsUsageDescription
通讯录NSLocationAlwaysUsageDescription
始终访问位置NSLocationUsageDescription
位置NSLocationWhenInUseUsageDescription
在使用期间访问位置NSMicrophoneUsageDescription
麦克风NSAppleMusicUsageDescription
访问媒体资料库NSHealthShareUsageDescription
访问健康分享NSHealthUpdateUsageDescription
访问健康更新NSMotionUsageDescription
访问运动与健身NSRemindersUsageDescription
访问提醒事项从2017年1月1日起,强制使用https,所有新提交的 app 默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制 安全传输不再支持SSLv3, 建议尽快停用SHA1和3DES算法
posted on 2016-09-22 15:59 阿蛋_spring 阅读(4902) 评论(0) 编辑 收藏 举报