2011-05-26 136 views
56

我切換到Xcode 4並加載了我的項目,這在Xcode 3中完美運行。當我運行它時,出現一條錯誤消息:Xcode無法打開Info.plist - 錯誤說「沒有這樣的文件」

文件「Info.plist」無法打開,因爲沒有這樣的文件。

我已經看過Xcode中的文件,它在那裏。那爲什麼不能打開?

+3

當有疑問時,清理(建立/清理所有目標),關閉,重新打開和構建。 – PengOne 2011-05-26 22:43:54

+0

不,沒有幫助。 – 2011-05-26 22:53:40

+2

下一步,刪除對「Info.plist」(不是文件!)的引用並將其添加回去。 – PengOne 2011-05-26 22:56:00

回答

130

該文件存在於您的Xcode項目文件夾是不夠的。您是否已驗證該文件是否在應用程序目標的構建設置中正確引用,以便將其正確複製到應用程序包中?它與標準資源(即,它不是目標成員中的目標成員複選框)中的成員不完全相同,而是因爲它在正確格式化的包中的重要性而成爲構建設置。

導航到項目(在項目導航器中選擇它),在目標列表中選擇應用程序目標,然後單擊生成設置選項卡。在「包裝」部分下,確保「Info.plist文件」已正確設置爲位置/文件名稱。

+3

我從「Project Explorer」重命名項目後,我開始出現此構建錯誤。該解決方案有助於解決問題。謝謝。 – 2014-02-08 08:32:09

+2

再次感謝Thankyou(這是我第二次這樣做),它總是在本地化文件時發生,然後將它移動到en.lproj中,因此以前的引用無法找到它 - 將它插入路徑目錄解決它 – Rambatino 2014-10-24 12:16:14

+0

我們必須確保我們提及正確的路徑以及plist文件的正確名稱。很好..它的工作原理... – 2015-07-13 10:21:15

1

如果appname-Info.plist在項目 - >目標/信息下不可見,請轉到摘要選項卡,它會詢問appname-Info.plist文件。從建議中選擇正確的文件。

1

在目標>打包> Info.plist文件下,確保文件路徑正確。

14

轉到目標。右鍵點擊測試目標。 yourProjectTests並將其刪除

+8

如何刪除目標幫助?這就像tellibg一個有構建錯誤的用戶刪除他們的項目一樣,就好像它本身就是解決方案一樣。我希望你永遠不要進入醫學...... – 2015-03-16 20:50:39

+0

不知道它是如何工作的。但它的工作。 – AsifHabib 2015-09-08 07:27:22

+0

嘿...它工作正常。 – Ramakrishna 2016-09-28 10:38:40

10

對我來說,問題是一些.storyboard文件在合併後有不同的部署目標。通過將所有故事板文件設置爲使用「項目部署目標」來修復它。 enter image description here

+1

這解決了我的問題在xcode7 – BluGeni 2015-09-14 18:28:10

+1

這個固定的問題在XCode7我 – 2015-09-29 19:40:32

0

在我的情況下,該文件在那裏,但格式不正確。如果您最近在文本編輯器中編輯了Info.plist,請取消該更改,然後重試而不破壞標記有效性。

5

對我來說,這是因爲啓用了plist文件的本地化(在跳板上給予應用程序的語言特定標識符)。

目標>構建設置>包裝> Info.plist文件關鍵我改變了路徑從AppName的/ AppName的-Info.plist中AppName的/ Base.lproj/AppName的統計信息。 plist和一切按預期工作。

記住,它lproj如在小L和沒有資本一

希望這有助於。

+1

這可能允許您編譯和運行,但它看起來並不像它實際上使用本地化的info.plist ... – royherma 2016-09-26 03:41:15

+0

我放棄了這個想法使用本地化應用程序名稱一段時間。 – AceN 2016-12-27 21:50:32

+0

我想你們已經把info.plist與infoPlist.strings誤會了。我只是遇到了同樣的問題,我意識到我的錯誤,並嘗試使用infoPlist.strings文件。沒有不好的驚喜。有用。 – 2017-01-06 23:27:16

0

對我來說,問題是這個錯誤指的是我正在使用的庫中的Info.plist,而不是項目中的實際.plist文件。

也許這將有助於未來的人。

+0

你怎麼知道的?你最終做了什麼來解決它?我是如此通用,我不知道它正在談論哪個Info.plist。右鍵單擊 - >在Finder中打開錯誤會將我帶到之前在Finder中打開的任何文件,因爲該文件不存在。 – RebelFist 2016-01-28 18:43:43

+0

@RebelFist:我在我的項目庫中使用了紅色的Info.plist文件。所以我的建議是在你的項目中尋找紅色文件。 – Kobe 2016-01-29 17:59:12

+0

感謝您的迴應!它最終成爲一個指向錯誤位置的文件夾,即使其中的所有項目都指向了正確的位置。所以一切看起來不錯,但是當我們建立時,我們得到了一個錯誤>< – RebelFist 2016-01-29 20:16:38

7

的Xcode 8

選擇左側窗格中的項目文件。然後打開常規選項卡,並添加了一個可讓您選擇文件的好按鈕。 (您可能需要將其添加到您的項目結構以及)

enter image description here

0

在我的情況的重點之一是錯過了,同時增加ATS遵守標誌

<key>NSAppTransportSecurity</key> 

取而代之的是正確的如下面

<true/> 
<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoadsInWebContent</key> 
    <true/> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>some-service1.com</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
     </dict> 
     <key>some-service2.com</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

我在此

<dict> 
    <key>NSAllowsArbitraryLoadsInWebContent</key> 
    <true/> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>some-service1.com</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
     </dict> 
     <key>some-service2.com</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

雖然一些網上XML驗證器的沒說出個XML是正確的,(這是不是),我用

plutil filename.plist 

要去目錄中的plist文件存在(從終端),並結識了確切的行號有問題 參考:(https://stackoverflow.com/a/32494850/5438240