2015-07-11 96 views
0

我有一個應用程序已經存在了五年並經歷了許多更新。當我想要啓動更新工作流程時,我將所有應用程序文件複製到一個新目錄中,在Xcode中打開新版本,更新不同目標的版本號,然後開始使用新版本。第一步一直是編譯和運行新版本,看看我是從一個工作版本開始的。這一直通過許多更新工作。Xcode編譯並運行舊版本的應用程序

今天我做了這個,將我的應用從4.1.43更新到4.1.44。我將所有文件複製到一個新目錄,更新所有版本並運行應用程序。但不是在模擬器和設備上運行版本4.1.44,而是運行4.1.43。

第一次構建給我提供了許多重複接口和文件定義的錯誤。一個乾淨的修復,但Xcode仍然運行4.1.43,即使我在4.1.44目錄中,只使用文件。如果我回到4.1.43,我會得到重複的錯誤;再次,乾淨刪除它們。

Xcode必須有一些設置導致它使用舊的代碼和應用程​​序設置,但我不知道爲什麼或什麼。我將非常感謝有關這裏有什麼問題以及如何糾正問題的任何見解。

約翰

+0

您是否嘗試刪除派生數據? –

+0

是的。刪除所有派生數據。 – johnz

回答

0

我解決了這個問題,但仍然不知道發生了什麼問題。

刪除派生數據並再次運行應用程序後,我意識到Derived Data中沒有新條目。我檢查了首選項/位置/派生數據,發現Legacy已被選中。選擇唯一解決了問題。

爲什麼選擇遺產是一個謎;我沒有改變它,並且在最近的更新中不是那樣。而且,由於Legacy將應用放到應用程序特有的目錄中,因此它應該使用Legacy位置正確運行。

無論如何,這似乎是答案 - 確保派生數據選擇唯一。