2016-09-21 32 views
5

新的XCode項目具有調試和發佈配置。我在「ProjectName> Info」下添加了一個名爲「development」的新項目,它現在是「調試」的副本。創建新的XCode配置和方案 - 鏈接器突然失敗

我想創建一個用於在開發模式下構建應用程序的新方案,所以我複製了「Projectname」方案並將其命名爲「DevelopmentScheme」。

我將「運行」和「歸檔」的構建配置設置爲我創建的新「開發」配置。

我仍然能夠建立最初的計劃。

我也能建立所有所需的庫時,項目配置了發展計劃,但是當我去鏈接階段,我得到的錯誤:

ld: library not found for -lRNCookieManagerIOS clang: error: linker command failed with exit code 1 (use -v to see invocation)

被對iOS開發來說相對較新,我不確定這個問題會是什麼。由於我複製了所有內容,這是不是意味着它們的行爲方式相同?關於原始計劃和新計劃之間可能會有什麼不同的想法?

回答

18

問題是,Xcode會期望在您的自定義配置後命名的文件夾中找到這些庫。您可以將自定義配置添加到您使用的每個庫,或者更好地按照以下步驟使其使用通過發佈配置構建的庫。

步驟:

  • 選擇目標
  • 打開構建設置選項卡
  • 搜索「庫搜索路徑」
  • 你會看到你的新的配置名稱旁邊調試和發佈
  • 雙擊新配置名稱旁邊的空格
  • 輸入"$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)"
  • 將遞歸設置爲true。

enter image description here

  • 退出對話框,你應該看到:

enter image description here

inspired by this post

+1

感謝您的靈感。我正在構建一個react-native項目,我所做的是將'Per-configuration Build Products Path'和'Per-configuration Intermediate Build Files Path'都改爲'$(PROJECT_TEMP_DIR)/ Release $(EFFECTIVE_PLATFORM_NAME)'。花了我幾個小時,謝謝Xcode。 – tropicalfish

+0

完美 - 這解決了添加新計劃的問題正在破壞事物。也許react-native應該添加一個'new-scheme'的CLI cmd,它可以爲我們完成所有這些工作(不是說那裏有很多 - 但是後面可能需要更多的東西) – James111

5

的Xcode 8.3.2需要一些不同的變化。

爲了使它工作,您需要更改Per-configuration Build Products Path爲您的自定義生成配置。例如,我有一個Internal構建配置。在那個領域,而不是$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),我把$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME),現在它工作:)。

+0

編輯必須超過6個字符,這是一個可怕的一個字符更正:這是每個配置構建產品路徑:) – jonasl

+0

您是否遇到過這個問題, 「確保您正在運行包裝服務器或已在應用程序包中包含.jsbundle文件。 ? – TomTom

+0

是啊..我只是停下來開始打包者和項目。它不會經常發生,讓我煩惱,試圖修復它。我知道那很糟糕,但我需要在此之前解決其他問題。 – pvinis