开发者社区 问答 正文

google protobuffer UIWebView 在5S真机环境下报exc_bad_access的错误

在5S真机环境下

项目中导入google protobuffer ,然后再

UIWebView *myweb= [[UIWebView alloc] initWithFrame:CGRectMake(0,0, 320,360)];
myweb.delegate=self;
[self.view addSubview:myweb];

就会报exc_bad_access的错误。 不用 addSubview 不会报错。

可能是UIWebView对象初始化后,不知道怎么回事被消毁了。
其它机型一切正常,没有这个问题。只是在5S真机环境下报错。

展开
收起
杨冬芳 2016-06-29 18:59:51 2553 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业

    。Google了一下。

    crash的地方是Libproto.dylib,这个库是Apple自带的,而项目中是没有使用到这个库的。
    (iPhone 5S and apparently iPad air),在最新的3个设备上有个库自带了一个Protobuf,和项目中的protobuf的namespace是一样的,这样就就产生了冲突。
    办法就很简单了:

    使用protobuf源代码(正好这项目原来就使用源代码)
    修改googleprotobufstubscommon.h,加入一行宏定义 #define google google_private ,修改本地的命名空间

    2019-07-17 19:49:20
    赞同 展开评论