2012-09-21 73 views
2

今天我安裝的Xcode 4.5依賴關係時不更新,我有以下問題:的Xcode 4.5:使用工作區

我用工作區並舉庫和應用程序。當我更改庫中的某些內容並構建應用程序時,庫會被重新編譯爲新的更改。這在Xcode 4.3/4.4中可以正常工作。 但是,由於Xcode 4.5,這似乎不再工作。我總是必須「清理」項目,否則更改不可見,儘管目標是以正確的順序(lib,app)構建的。

有沒有人遇到過相同的問題? 是否存在解決方法?

- 亞歷山大

+0

是的,我看到完全一樣的行爲。我正在使用XCode版本4.5(4G182)。在主項目中使用lib的子項目也顯示了這種行爲。不過,我還沒有檢查舊版本的XCode。 – Kaldonia

回答

1

下面是這一個可能的原因(有可能是其他人):

確認身份和類型檢查器顯示並選擇您的應用程序的項目libWhatever.a文件(而不是庫)。如果您看到位置:相對於項目,這是您的問題。

  • 單擊相對於項目並將其更改爲相對於構建產品。
  • 這將改變鏈接的類型,但它仍然會被打破。
  • 單擊定位按鈕並找到輸出文件。

老實說,你可能更適合直接編輯pbxproj。你的補丁會是這個樣子:

Index: App.xcodeproj/project.pbxproj 
=================================================================== 
--- App.xcodeproj/project.pbxproj  (revision 28061) 
+++ App.xcodeproj/project.pbxproj  (working copy) 
@@ -28,7 +28,7 @@ 

/* Begin PBXFileReference section */ 
      A7052F8F1358BFCC00178DAC /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; 
-   A74F787413566130000D0AFC /* libLibrary.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libLibrary.a; sourceTree = SOURCE_ROOT; }; 
+   A74F787413566130000D0AFC /* libLibrary.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libLibrary.a; sourceTree = BUILT_PRODUCTS_DIR; }; 
      A74F787D135665A3000D0AFC /* Macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Macros.h; path = DslExt/Macros.h; sourceTree = "<group>"; }; 
      A74F787E135665A3000D0AFC /* Foundation-dsl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "Foundation-dsl.m"; path = "DslExt/Foundation-dsl.m"; sourceTree = "<group>"; }; 
      A74F787F135665A3000D0AFC /* Foundation-dsl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Foundation-dsl.h"; path = "DslExt/Foundation-dsl.h"; sourceTree = "<group>"; }; 

我在這裏找到這個答案:

What's the correct way to configure XCode 4 workspaces to build dependencies when needed?

+0

非常感謝,它再次運作。我從'path'中刪除所有路徑,並將'sourceTree'改爲'BUILT_PRODUCTS_DIR'。 – Alexander