您当前的位置: 首页 >  unity

幻世界

暂无认证

  • 0浏览

    0关注

    237博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity跨iOS、Android平台使用protobuf-net的方法(.Net 2.0 subset)《一》

幻世界 发布时间:2018-05-31 19:42:15 ,浏览量:0

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群

参考博客:https://blog.csdn.net/qq_37310110/article/details/80529126

如果你的工程可以以.Net 2.0 模式运行,请看这个帖子中的方法。

地址:https://blog.csdn.net/qq_37310110/article/details/80529054

如果能以.Net 2.0subset下运行,就可以继续往下看了。

==========================================================

项目中使用了开源项目 Protobuf-net 来解析 google protobuf 格式的通信数据,因为 GOOGLE 自带支持的语言里不包括 C#,所以需要用到第三方的开源库 Protobuf-net 。

 

之前在WIN7,安卓上使用都正常。发布到 IPAD MINI2 上是发现有问题,表现如下:

有时可以正常使用,但似乎一开始会被卡一会。

有时完全无法正常使用,反序列化的时候会抛异常出来。

 

查网络上资料,觉得是否应该在发布到IOS时设置里要改一下。

有一个选择支持“.Net 2.0 subset模式”或“.Net 2.0模式”的选项,默认是“.Net 2.0 subset模式”,网上说要改成“.Net 2.0模式”

改了后,发现还是抛异常,不过现在报“JIT异常”,发现U3D不支持。

 

所以最后采用的方法是

1. 下载protobuf-net源码, 把其中“protobuf-net”文件夹 拷贝到unity 即可 . (我从svn下载好之后有很多文件夹的,比如protobuf-net,protobuf-net_IKVM,protobuf-net_MonoDroid,protobuf-net_Phone7 ,ProtoGen,QuickStart 等等 ,只复制那个protobuf-net就可以 。) 

地址:https://github.com/mgravell/protobuf-net

2. 建立一个新的文件smcs.rsp  ,内容是-unsafe ,前后都无空格。该文件放在 Assets 目录下。

3. 把工程设置为.Net 2.0 subset

4. 重启Unity 

这样就搞定了。 

 

需要注意的是: 

你的工程必须是.Net 2.0 subset,  如果是.Net 2.0是无法在ios上用这个方法的

 

参考博客:https://blog.csdn.net/qq_37310110/article/details/80529126

 

欢迎加入Unity业内qq交流群:956187480

qq扫描二维码加群

 

关注
打赏
1660704426
查看更多评论
立即登录/注册

微信扫码登录

0.0370s