V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
xuming
V2EX  ›  iDev

求助,升级 xcode6.3.1 后工程不能 archive

  •  
  •   xuming · 2015-04-28 09:09:33 +08:00 · 4103 次点击
    这是一个创建于 3499 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天升级了xcode6.3.1后,发现旧的工程,可以build成功,但archive的时候总报错

    Command failed due to signal: Segmentation fault: 11
    5 条回复    2015-05-03 17:21:16 +08:00
    banxi1988
        1
    banxi1988  
       2015-04-28 09:40:35 +08:00   ❤️ 1
    我遇到过这个问题:
    其实你的问题更详细的说法是:
    Release编译模式下,编译失败,不信的话,你使用Release编译时也会出错的.

    鉴于你没有贴出具体的错误.
    那我就根据我之前遇到的错误说一下吧:
    1. Swift 为主的项目,
    2. 提示编译出错的也是一个 Swift 源代码文件.
    3. 提示应该是循环引用导致的编译错误,

    根据出错的编译错误的文件,
    删除可疑的代码
    然后就OK了,并找出了引起错误的代码,分分钟修正.(找出错误的代码花了一天时间 ---哭)

    本来是想分享出来 的.
    但是在构建一个简单的可重现的问题的小项目时,发现问题不能重现

    所以,如果你的搞个小Demo出来重现这个问题,我将是感激不尽的.

    最后: 提问没有具体的错误信息, 这样不好..
    onevcat
        2
    onevcat  
       2015-04-28 09:43:25 +08:00   ❤️ 2
    如果是 Swift 的话,着急没时间找就把优化先关了,直接 release 也用 -Onone 优化。这种一般是 Swift 的编译器的 bug,提个 radar 等 Apple 修吧。
    banxi1988
        3
    banxi1988  
       2015-04-28 09:50:47 +08:00
    @onevcat 我也遇到过,但是当我想创建一个小Demo来重现此错误时,没能重现.
    没有能重现的错误, 也没没好报Bug了.
    我的错误情况是:
    1. 循环引用的错误(子引用父的时候,已加了weak) (Parent 1---> N Child)
    2. 实现Child 和 Parent 都实现Equatable协议.
    ```
    func ==(lhs:Parent,rhs:Parent) -> Bool{
    return (lhs.name == rhs.name
    && lhs.age == rhs.age
    && lhs.children == rhs.children
    )
    }
    ```
    如上: 将 lhs.children == rhs.children 的比较删除即可.
    xuming
        4
    xuming  
    OP
       2015-05-03 09:09:36 +08:00
    最近较忙,现在才来回复,
    @onevcat 确实是编译器的问题,改成-Onone就通过了,非常感谢
    @banxi1988 错误提示就是Segmentation fault: 11,根本无法定位,先照onevcat 的方法编译了。等下一个版本的xcode吧。
    banxi1988
        5
    banxi1988  
       2015-05-03 17:21:16 +08:00
    @xuming 错误信息没有指出出错文件? 虽然它的提示信息只是这个,
    但是上下文也是很重要的,出错的编译文件, 出错时的编译时期...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3179 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:42 · PVG 21:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.