Unity发布IOS时设置link.xml遇到的一个fullname不正确的问题

Unity发布IOS时设置link.xml遇到的一个fullname不正确的问题,第1张

概述前两天在发布IOS时遇到两个问题。 1、StreamingAssets目录下的文本文件,在windows,android上可以用FileStream来读取,但是在IOS上却不能。经过尝试,用UnityWebRequest取到。 2、读取配置文件转换成记录列表时报错:找不到构造函数。   最开始以为时LitJson版本太低,将LitJson升级,并没有用。   百度后发现是IL2CPP的原因,我们很

前两天在发布IOS时遇到两个问题。

1、StreamingAssets目录下的文本文件,在windows,androID上可以用fileStream来读取,但是在IOS上却不能。经过尝试,用UnityWebRequest取到。

2、读取配置文件转换成记录列表时报错:找不到构造函数。

  最开始以为时litJson版本太低,将litJson升级,并没有用。

  百度后发现是IL2CPP的原因,我们很多逻辑封装在dll中,所以应该是反射相关的类全部被裁剪掉了。于是在设置中取消Strip Engine Code的勾选项,结果没有用。

  设置link.xml,fullname填写的dll的名称,依然报错。

<?xml version="1.0" enCoding="utf-8"?><linker>    <assembly fullname="aaa">    <namespace fullname="aaa.FrameWork" preserve="all"/>    <namespace fullname="aaa.Global" preserve="all"/>    <namespace fullname="GameProtocol" preserve="all"/>    <namespace fullname="ProtoBuf" preserve="all"/>    <namespace fullname="litJson" preserve="all"/>  </assembly></linker>

  最后没有办打算用最笨的方法,在unity某个代码中写一个不被调用的方法,里面把所有dll中反射用到的类new一次。试了几个配置文件类还真有效。

  由于protobuffer用到的所有类都是反射调用,所以我打算用反射取dll中所有的类型,然后自动生成一个文件来实现new所有protobuffer类。在这个过程中突然想到把dll的fullname打印出来看下

using System;using System.Text;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEditor;using UnityEngine;using UnityEngine.UI;using System.Reflection;public class EditorTools : MonoBehavIoUr {    [MenuItem("Tools/显示fullname")]    public static voID ShowFullname()    {        var ass = Assembly.Loadfile(Application.dataPath + "/Plugins/aaa.dll");        DeBUG.Log("fullname=" + ass.Fullname.Trim());        DeBUG.Log("dllname=" + ass.Getname());                }}

  结果 fullname=aaa,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null,修改link.xml

<assembly fullname="aaa,PublicKeyToken=null">

  顺利通过。

 

  dll的fullname为什么是这么长一个字符串,或者assembly标签可以用其它属性找到dll,暂时没时间去了解,请知道的朋友留言告知。

总结

以上是内存溢出为你收集整理的Unity发布IOS时设置link.xml遇到的一个fullname不正确的问题全部内容,希望文章能够帮你解决Unity发布IOS时设置link.xml遇到的一个fullname不正确的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1031037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存