zoukankan      html  css  js  c++  java
  • IOS

     

    运行环境

    Unity 5.3.5f1 (IL2CPP)编译IOS版本

    XCode Version 7.2.1 (7C1002)

    Mac OS X 10.11.3 (15D21) (Mac mini)

    iPhone 5,6 ,iPad

    错误信息

    Could not produce class with ID

    Could not produce class with ID XXX.
    This could be caused by a class being stripped from the build even though it is needed. Try disabling 'Strip Engine Code' in Player Settings.:<LoadWWWIEnumerator>c__Iterator99:MoveNext()

    具体表现:可能是APP闪退,提示上示错误信息

    解决办法

    1. 在上面的错误提示中,有提示 disabling “Strip Engine Code

    所以我们要做的就是在Player Setting – Other Setting,去掉勾选 Strip Engine

    image

    如果要Strip Engine

    如果要Strip Engine,那就需要把不想被strip的添加进来。

    1. 新建link.xml放在Assets目录下,里面添加不想被strip的dll的名字

    ID查询: https://docs.unity3d.com/Manual/ClassIDReference.html

    下面是导入高通Vuforia之后,SDK中默认的link.xml的内容

    复制代码
    <linker>
        <!-- The following assemblies contain namespaces that should be fully preserved
             even when assembly stripping is used. Not excluding the assemblies below from
             stripping can result in crashes or various exceptions. -->
        <assembly fullname="Vuforia.UnityExtensions">
            <namespace fullname="Vuforia" preserve="all"/>
        </assembly>
        <assembly fullname="System">
            <namespace fullname="System.Runtime.InteropServices" preserve="all"/>
            <namespace fullname="System.Collections.Generic;" preserve="all"/>
            <namespace fullname="System.Linq;" preserve="all"/>
            <namespace fullname="System.Text.RegularExpressions;" preserve="all"/>
            <namespace fullname="System.IO;" preserve="all"/>
            <namespace fullname="System;" preserve="all"/>
        </assembly>
    </linker>
    复制代码

    如果提示的ID的是Editor的,比如 AnimatorController(ID 91)属于Editor包里的,不能用link.xm加回来,可以在Resource下建一个空的prefab,在上面挂一个AnimatorController,打包时留下这个prefab就可以确保这个类不被strip掉了。

    参考:https://forum.unity3d.com/threads/could-not-produce-class-with-id-91-ios.267548/

    Unity的默认值

    以Unity5.3.5为例

    ios平台,默认勾选了 Strip Engine Code,且Script Background为I2CPP

    image

    android平台,默认disabled Strip Engine Code,且Script Background为Mono2x

    image

  • 相关阅读:
    ASP.NET编程的十大技巧
    C#学习心得(转)
    POJ 1177 Picture (线段树)
    POJ 3067 Japan (树状数组)
    POJ 2828 Buy Tickets (线段树)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4235 Flowers (线段树)
    POJ 2886 Who Gets the Most Candies? (线段树)
    POJ 2418 Cows (树状数组)
    HDU 4339 Query (线段树)
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/7865450.html
Copyright © 2011-2022 走看看