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
yanke
V2EX  ›  iDev

Xcode 6.1 SourceKit 一直崩溃

  •  
  •   yanke · 2014-10-28 18:51:53 +08:00 · 5474 次点击
    这是一个创建于 3682 天前的主题,其中的信息可能已经有所发展或是发生改变。
    动辄 SourceKit 崩溃,代码高亮和提醒就没了。。。
    会不会是 XVim 的原因,但是禁用XVim之后也是会崩溃。
    15 条回复    2014-11-05 18:22:16 +08:00
    yanke
        1
    yanke  
    OP
       2014-10-28 18:52:41 +08:00
    搞的我都开始羡慕Android了,毕竟Java你们懂得。
    WildCat
        2
    WildCat  
       2014-10-28 18:55:03 +08:00 via iPhone
    IB加强了很多…还是果家的好
    Sunnyyoung
        3
    Sunnyyoung  
       2014-10-28 21:25:03 +08:00
    现在我遇到的是@ 没有自动提示了
    拖动一个View中的item改变大小布局莫名其妙打乱..好无语
    adow
        5
    adow  
       2014-10-28 21:30:29 +08:00
    的确是这样,不是xvim 的问题,崩溃之后代码高亮都没有了,然后一会又好了
    yanke
        6
    yanke  
    OP
       2014-10-28 21:50:38 +08:00
    @Sunnyyoung 我用AutoLayout,用来横向撑开ScrollView的View总是会自动跑偏。留下一串警告。
    @adow 现在有一个文件,一编辑马上崩。还好不是整个XCode崩溃。
    @laocp 没有用Lin,估计就是Xcode自己的问题。
    不得不说,Yosemite, iOS 8.X, 以及Xcode 6.X 整体上Bug太多了。
    PrideChung
        7
    PrideChung  
       2014-10-28 21:55:22 +08:00
    我也一样,装了Yosemite和Xcode 6.1以后就这样。 去 ~/Library/Developer/Xcode/DerivedData 把里面的文件全删掉可以治标,但是过不久又会继续。有点怀疑是Xcode插件造成的,在尝试用二分法定位问题。
    PrideChung
        8
    PrideChung  
       2014-10-28 21:56:49 +08:00
    另外我没统计过,但印象中用到 Swift 的 extension 和 enum 的时候就会用高几率 SourceKitService Terminated
    dorentus
        9
    dorentus  
       2014-10-28 22:04:44 +08:00
    我没装任何 Xcode 插件,然后 Xcode 6 从最早的版本开始,写 Swift 的时候就时常出现 SourceKitService Terminated 的问题(也不算完全无规律,一般都能确定是某几行代码的问题,然后清 DerivedData 也确实是治标而不治本……);随着 Xcode 6 的更新,出现的频率越来越小,但还是会出现。
    yanke
        10
    yanke  
    OP
       2014-10-28 22:05:36 +08:00
    @PrideChung 是的
    以及 Swift Dictionary 自动转换为 OC 的 NSDictionary 时,有时候会出现一行代码编译耗时十几秒的情况,导致代码高亮失效。
    Sunnyyoung
        11
    Sunnyyoung  
       2014-10-28 22:09:21 +08:00
    @yanke 是整个View上移么?我的也会这样= =然后就对不准了擦...
    yanke
        12
    yanke  
    OP
       2014-10-28 22:27:12 +08:00
    @Sunnyyoung
    是这样,IB里面UIScrollView的约束比较奇葩,外部约束用来定位和宽高,内部的约束只能把ScrollView撑开(contentSize),无法影响到ScrollView的frame。

    于是我用IB插入一个UIScrollView时候,我会在里面放一个View,设置约束与VC的View等宽,左右与ScrollView贴紧,高度为0,这样会把ScrollView的contentSize宽度上撑到和屏幕等宽。高度用内部的空间撑起来。

    然后这个view每次都会自动跑偏,提示我misplaced,留下一串警告。实际上没有问题。

    木有遇到其他View跑偏的情况。

    感觉现在iOS里面的定位设计得太复杂了,NavBar区分透明和不透明,VC的View定位原点相对屏幕可能是(0,0),(0,20),(0,64),VC还会擅自调整ScrollView的contentInset。加上肾6,肾6+的屏幕尺寸。
    目前我写项目Layout已经高度依赖IB了放弃手动了,通过把一些LayoutConstraint Outlet到代码里面来动态调整布局。
    不知道有没有更好的解决方案。
    Sunnyyoung
        13
    Sunnyyoung  
       2014-10-29 13:24:12 +08:00
    @yanke = =请教一个问题,如何使用Storyboard中的UIScrollView随里面的Label行数增多而增加它的contentsize,不用代码...一直没搞懂,Autolayout该如何设置
    sherblue
        14
    sherblue  
       2014-10-29 19:44:59 +08:00
    @Sunnyyoung 刚写了一个简单的demo,传到GitHub了。https://github.com/shiablue/AutoLayout
    yanke
        15
    yanke  
    OP
       2014-11-05 18:22:16 +08:00
    @Sunnyyoung
    首先 UILabel numberOfLines = 0,
    然后 宽度方向上有约束,
    然后 内容外扩权重(Content Hugging Priority)和内容收缩阻力权重(Content Compression Resistance Priority)在高度上都设置为 Required(1000),这样 UILabel的内容就在可以在高度上撑开外面了。
    然后 就是 UILabel 对 superView (UIScrollView) 上下都有约束。这样 UILabel 就可以撑开 UIScrollView 的ContentSize。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3652 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.