xcode8.0+ios10.0 的坑

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;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值