1. xcode8运行可以极光注册, xcode7.1 注册不成功
2.NSLog 真机 打印Json 不完全 (改用printf)
/**
* 解决Xcode8.0 NSLog真机打印不全但是 printf可以打印全
*/
#ifdef DEBUG
#define NSLog(format,...) printf("class: <%p %s:(%d) > method: %s \n%s\n", self, [[[NSStringstringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__,__PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__]UTF8String] )
#else
#define NSLog(format,...)
#endif
2.UITextFeild 的 background 属性设置 背景图片 在ios10.0 上无效。
3.xcode8.0 真机测试报错而使用xcode7.1 真机测试正常
xcode8.0 iPhone4S ios108.1.3 真机测试时卡在这了
dyld`dyld_fatal_error:
-> 0x1fe2b08c <+0>: trap
0x1fe2b090 <+4>: nop
xcode8.0 iPhone6 ios8.3(12F70) 真机测试时卡在这了
dyld`dyld_fatal_error:
-> 0x120065088 <+0>: brk #0x3
原因:Masonry 最新版本不允许 mas_equalTo(0);语法
解决:pod 'Masonry','~> 0.6.1'
4.用Xcode8.0上传项目时被驳回说是info.plist里面没有设置隐私权限字段,之前这些都是预设的不用加,现在强制了。
解决方案:
大概统计了一下需要加的一些字段列在下面:
NSContactsUsageDescription-> 通讯录
NSMicrophoneUsageDescription-> 麦克风
NSPhotoLibraryUsageDescription-> 相册
NSCameraUsageDescription-> 相机
NSLocationAlwaysUsageDescription-> 地理位置
NSLocationWhenInUseUsageDescription-> 地理位置
Privacy - BluetoothPeripheral Usage Description -> 蓝牙权限
Privacy - SpeechRecognition Usage Description -> 语音转文字权限
Privacy - CalendarsUsage Description -> 日历权限
Privacy - ContactsUsage Description -> 通讯录权限
5.iOS10 的适配问题,导航栏标题和返回按钮神奇的消失了
解决思路:
1.顶层被莫名其妙的加了一层视图,感觉是自定义的导航栏的背景视图的层次出问题了,所以查看了自定义的导航栏,但是并没有,后来问了问,有一个应急的解决办法,就是给导航栏设置背景色,颜色取背景图片的颜色,在每一个用到该导航栏的试图控制器的viewWillAppear方法中重新设置一下导航栏,在viewWillDisappear里也重新设置一下。
2.但是上面的方法仅适用于导航栏颜色为纯色,,所以为了更灵活,还有另一种方法,就是在viewWillAppear和viewWillDisappear方法里先将视图控制器的导航栏隐藏然后再显示
- (void)viewWillAppear:(BOOL)animated
{
[superviewWillAppear:animated];
[self.navigationControllersetNavigationBarHidden:YES animated:NO];
[self.navigationControllersetNavigationBarHidden:NO animated:NO];
}
-(void)viewWillDisappear:(BOOL)animated
{
[superviewWillDisappear:animated];
[self.navigationControllersetNavigationBarHidden:YES animated:NO];
[self.navigationControllersetNavigationBarHidden:NO animated:NO];
}
//简书的一位作者写过类似的博客,里面提到的原因是“iOS10在加载导航栏是总会加载系统的”。如果他说得对的话,也就是说push时系统会将自带的导航栏置顶,而隐藏后再显示只会显示自定义的导航栏。
//如果每一个视图控制器都加了上面的代码也是有问题的,问题是如果某视图控制器不需要继续push,那么该视图控制器会不能很好地适配iOS10,有时会返回到修改前的状态。解决方法是在进入该视图时判断是否需要跳转,如果需要继续跳转,则加上上面的代码,否则屏蔽掉。
6.Xcode8.0+ 保存的xib文件 在xcode7版本上会报错
解决:
1.删除xib源码中:<capabilityname="documents saved in the Xcode 8 format"minToolsVersion="8.0"/>
2.< document >中的toolsVersion和< plugIn >中的version改成你正常的xib文件中的值
7. IOS 10.0 UIPickerView 选中行分割线 颜色为无色
/**
* 设置分割线
*/
((UIView *)[PickerView.subviewsobjectAtIndex:1]).backgroundColor =XZThemeColor;
((UIView *)[PickerView.subviewsobjectAtIndex:2]).backgroundColor =XZThemeColor;