Xode8 解决RN项目报错

Xcode7写的所有RN项目,在升级到Xcode8都会报错,需要做以下修改。

1、RCTSRWebSocket.m

屏幕快照 2016-09-29 下午3.44.04.png

将报错行修改成:

  int result = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
  assert(result == 0);```

上面是我对照Xcode8新建的可用项目代码做的修改,有人提供以下解决方法:

(void)SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);

已试,都可解决报错问题。

##2、RCTScrollView.m 
![屏幕快照 2016-09-29 下午3.53.34.png](http://upload-images.jianshu.io/upload_images/1512008-675afddffc3fd6c2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

打开RCTSCrollView.m    **Command+F  搜索@implementation RCTCustomScrollView**
只会搜索到一个结果,然后修改:

@implementation RCTCustomScrollView
{
RCTRefreshControl *_refreshControl;//不管原来有什么,在原来的基础上加上这句
}“`

3、 Team && Code signing(推荐方法)

屏幕快照 2016-09-29 下午3.59.51.png

选择Team: General–Signing–Team–选择一个可用的Team
注:我在这里选择的是Automatically manage singing,如果你手动配置的话,保证Provisioning Profile可用并匹配即可。

屏幕快照 2016-09-29 下午4.00.19.png

运行后还是显示这个错误,需要注意,Targets有两个,两个都要设置Team

屏幕快照 2016-09-29 下午4.08.33.png

3.1 网上其他解决方法(可尝试方法)

方法一:

Build Setting–Code Signing Identity–将Don’t Code Sign改成iOS Developer或者iOS Distribution
使用手动配置Provisioning Profile时,我使用该方法,还是报错。stackoverflow上有人说自己通过这个方式解决了问题,对于这个方法是否有效,不予置评。

屏幕快照 2016-09-29 上午11.19.03.png

方法二:

把红色箭头指向的那一行 全部取消选中 即可,已测,项目不再报错。
个人感觉该方法不太靠谱,Xcode8新建的项目中也是默认选中这几项的,这几项选中是有它的道理,这个方法没有从根本上解决问题。

屏幕快照 2016-09-29 上午11.22.41.png

综上,建议大家使用推荐的解决方法

如果有不对或者不严谨之处,欢迎指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值