2014-02-18 132 views
1

我複製了一個目標並修改了相應的屬性列表文件。添加了一個預處理器宏,可幫助從相同的源文件構建重複的目標。XCode 4.2崩潰多個目標設置

但是當我嘗試做一個乾淨的構建時,XCode 4.2不斷崩潰。有趣的是,它在初始構建中工作正常。但是,當我清理原始目標並嘗試重建重複的目標時,XCode崩潰。

enter image description here

堆棧跟蹤 -

ASSERTION FAILURE in /SourceCache/IDEKit/IDEKit-955/Framework/Classes/Editor/IDEEditorDocument.m:635 
Details: (lastKnownModificationDate) should not be nil. 
Object: <IDEQuickLookDocument: 0x4020b7fc0> 
Method: -_respondToFileChangeOnDiskWithFilePath: 
Thread: <NSThread: 0x40010a260>{name = (null), num = 1} 
Hints: None 
Backtrace: 

    0 0x0000000107035466 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit) 
    1 0x00000001066a8794 _DVTAssertionFailureHandler (in DVTFoundation) 
    2 0x0000000106fb66c7 -[IDEEditorDocument _respondToFileChangeOnDiskWithFilePath:] (in IDEKit) 
    3 0x00007fff8ca4ca82 _dispatch_call_block_and_release (in libdispatch.dylib) 
    4 0x00007fff8ca4e8f2 _dispatch_main_queue_callback_4CF (in libdispatch.dylib) 
    5 0x00007fff8c2fee7c __CFRunLoopRun (in CoreFoundation) 
    6 0x00007fff8c2fe486 CFRunLoopRunSpecific (in CoreFoundation) 
    7 0x00007fff8f07e2bf RunCurrentEventLoopInMode (in HIToolbox) 
    8 0x00007fff8f08556d ReceiveNextEventCommon (in HIToolbox) 
    9 0x00007fff8f0853fa BlockUntilNextEventMatchingListInMode (in HIToolbox) 
10 0x00007fff869e2779 _DPSNextEvent (in AppKit) 
11 0x00007fff869e207d -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) 
12 0x00007fff869de9b9 -[NSApplication run] (in AppKit) 
13 0x00007fff86c5aeac NSApplicationMain (in AppKit) 
14 0x0000000106637eec (in Xcode) 

有沒有人遇到的問題?謝謝。

回答

1

我找到了答案。項目文件來自Xcode 4.1,但我使用4.2版來構建它。當我使用4.1版來構建項目時,一切正常。有趣的是,當我使用升級版本打開項目文件時沒有警告。

幾件事情要注意複製目標時 -

  1. 更改產品名稱在目標生成設置了。直接修改目標文件名稱也不會在「生成」設置中更改。

  2. 如果打算爲新目標使用不同的GUI,請在對應的.plist文件中使用相同的名稱。

  3. 新的GUI文件需要包含在軟件包中。

  4. 編譯器標誌的預處理器宏必須僅適用於新目標。