【问题标题】:Xcode 5 hangs while archivingXcode 5 在归档时挂起
【发布时间】:2014-03-15 21:05:23
【问题描述】:

我最近将我的 iOS 项目转换为 ARC。现在,当我尝试归档我的应用程序时,该过程在编译最后一个源文件时/之后挂起。 在 Activity Monitor 中,两个 clang 进程几乎占用 100% CPU,我什至无法关闭 Xcode。 如果我将代码优化级别设置为无,一切正常(这当然不是最终解决方案)。

有什么建议可以解决这个问题吗?

【问题讨论】:

  • 您是否尝试过编译一个新的、干净的、空白的项目来看看是否可行?如果这不起作用,则可能与项目无关。
  • 如果我在旧分支上编译项目(没有 ARC)一切正常。
  • 大锤 :-) 我以前也遇到过这种情况,真的很烦人。当我第二天进来时,我只是关闭了Mac并回家过夜,它运行良好。我的猜测是它只是度过了糟糕的一天,过热或运行了太多进程,它无法处理它。
  • 在不同的 Mac 上存档也不起作用 :-(
  • 你试过大锤了吗? :-P

标签: ios objective-c automatic-ref-counting xcode5 archiving


【解决方案1】:

原来它是 ARC 动画块中的一个保留圈。使用weakSelf 成功了。

__weak __typeof(self) weakSelf = self;
[UIView animateWithDuration:0.3f
                      delay:0.5f
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^{
                     __typeof(weakSelf) strongSelf = weakSelf;
                     [strongSelf doStuff];
                     // ...
                 }
                 completion:^(BOOL finished){
                     // ...
                 }];

我通过在详细模式下通过命令行归档项目来解决这个问题。它卡在一个包含保留圈的视图控制器上。

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 1970-01-01
    • 2016-01-27
    • 2013-09-26
    • 2020-01-12
    • 2014-05-07
    • 2017-02-08
    • 1970-01-01
    • 2017-04-19
    相关资源
    最近更新 更多