Xcode 8中的Bitcode错误,但仅适用于模拟器

时间:2016-09-16 10:57:28

标签: ios objective-c xcode ios-simulator bitcode

我刚刚更新到Xcode 8,每当我尝试使用模拟器时,我都会收到新的错误。 (模拟器中的任何设备类型。)它读起来像......

class Any
{
    public object Value;
}

class Test
{
    public static void Run()
    {
        var example = new Any() { Value = 0 };
        var settings = new JsonSerializerSettings
        {
            TypeNameHandling = TypeNameHandling.Auto,
            ContractResolver = UntypedToTypedPropertyContractResolver.Instance,
        };

        var json = JsonConvert.SerializeObject(example, Formatting.Indented, settings);
        var example2 = JsonConvert.DeserializeObject<Any>(json, settings);
    }
}

诀窍是,Bitcode IS已启用。 (而且必须是这样,因为我正在做Apple Watch的事情。)我已经在同样的错误中看到了SO的其他问题,但是我的版本中有一些新的皱纹,那些不喜欢的东西。地址:

  1. 它不是某些外部库或其他东西,它是我的AppDelegate。
  2. 启用了Bitcode IS,并且已经用于该项目的整个开发阶段(9个月以上)。
  3. 该项目适用于物理设备,&#34;通用iOS设备&#34;以及存档。它只是模拟器弹出此错误。
  4. 我的假设是,这是我的构建规则中的一个错误或某种错误设置,用于我如何在模拟器上构建,但我不知道它会在哪里。我已经清理,删除了衍生数据,尝试了多个模拟器,并重新启动了Xcode和我的计算机。

    任何人都知道造成这种情况的原因,以及我如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

我不知道这是否会解决它,但在我们的项目中,使用Watch Extension,我们在应用程序目标上禁用Bitcode并在其他目标上启用。

在主应用目标上,我们将有效架构设置为armv7 / s arm64。

我希望这有点帮助。