2014-09-10 66 views
11

因此,每次我更新我的應用程序時,Xcode聲稱即使它在那裏也不能找到特定的外部框架。它再次發生在Xcode 6和我通常的方法中(我很缺乏經驗,所以它們基本上涉及點擊和鍵入事物,直到發生某些事情(我誇大但不是太多))不起作用。外部框架File/File.h(Parse/Parse.h)文件找不到

我得到一個Lexical or Preprocessor Issue錯誤,即'Parse/Parse.h' file not found.'但這裏是它的屏幕截圖中的項目並添加到庫:

enter image description here

enter image description here

我也跟着步驟最高的答案在‘ld: warning: directory not found for option’但仍然沒有。

不知道該怎麼辦?任何想法呢?我在這裏撕掉我的頭髮。

+0

我已經在這裏回答了這個問題請查看http://stackoverflow.com/a/32110869/3580356 – 2015-08-20 06:24:59

+0

我已經回答了這裏的問題 http://stackoverflow.com/a/32110869/3580356 – 2015-08-20 06:27:41

回答

3

升級解析到1.4v時,我遇到了同樣的問題。您必須從框架列表和項目目錄中刪除Parse.framework,當從兩個位置移除時再次複製並選中「將項目複製到目標的組文件夾」。它爲我工作。

7

其實我也面臨同樣的問題,但是在做了很多工作(刪除/添加解析框架)之後,我開始知道parse.framework已經添加了,並且錯誤仍然存​​在。

真正的問題不在於主鏈項目的鏈接二進制文件,而是與測試鏈接二進制文件。 假設您的項目名稱是「project1」,Xcode創建一個名爲「project1Tests」的文件夾。因此選擇「project1Tests」並在鏈接Binary中添加parse.framework。

退房層次:

項目
PROJECT1

TARGETS
PROJECT1
project1Tests(您需要選擇此選項可添加解析框架)。

希望這可以幫助你解決這個問題。

+0

此解決方案修復了我的Xcode 6.1上的錯誤,並且Xcode 6及以下版本不需要此錯誤。 – Deepan 2014-10-28 19:02:28

7

我也有這個錯誤。我在Swift中開發,所以我添加了一個「橋頭」,如this Parse blog post中所述。

我得到「Parse.h not found」的原因是我的項目名稱包含空格。 (對於項目名稱,我的意思是在創建新項目時輸入的產品名稱,它決定了您的文件夾名稱)。第一天一切順利,但在關閉並打開Xcode之後,Xcode解釋了由空格分隔的單詞不同的路徑。

要解決此問題,您可以轉到Build Settings - > Search Paths - > Framework Search Paths,並在每個空格前添加一個「\」。 (如果雙擊路徑,您將看到Xcode顯示每個由空格分隔的單詞作爲不同的條目。)

另請注意,橋頭與#import <Parse/Parse.h>這不是強制性的:您可以簡單地做import Parse

0

在我的情況下,我不得不再做一件額外的Sukhchais的答案。 看來,儘管parse.framework出現在目標的「鏈接二進制庫」列表中,但由於某些原因,它們可能沒有正確鏈接。只需從列表中刪除parse.framework,然後像上面提到的那樣再次添加它。通過這種方式,我能夠解決我的問題。

5

我所要做的就是通過突出顯示並按下delete來從此列表中刪除Parse.framework。

enter image description here

然後我去了加號在該列表的底部,而不得不選擇添加其他和手動找到下載的文件.framework。

enter image description here

0

只是分享我的情況下,發現如果有人可能有同樣的問題:

一不留神,我們有我們的內源代碼庫Parse.framework的兩個引用在兩個不同的地方。從第一位開始,Parse.framework的參考鏈接在目標的構建階段中。但是,當編譯應用程序時,Xcode不夠智能,無法獲得參考並拋出一個錯誤:「詞法或預處理器問題」錯誤「Parse/Parse.h」導入.pch文件。 通過嘗試各種選項花了幾個小時後,從源代碼庫中刪除了Parse.framework的引用,並且只保留了一個引用。這解決了這個問題。

和應用程序編譯成功:)

5

在我的情況下,錯誤走了後,我加入到的路徑Parse.framework是框架搜索路徑構建設置的目錄:

Framework Search Paths

我的項目甚至沒有該設置的條目,因此您可能還需要創建它。

0

對於來自Ionic + Cordova的人,如果您遇到此錯誤,我通過刪除當前的parsePlugin並將其替換爲this fork來解決此問題。

爲簡單起見,我用這些控制檯命令(更換PARSE_APP_IDPARSE_CLIENT_KEY與解析控制檯鑰匙):

cordova plugin rm com.parse.cordova.core.pushPlugin 
cordova plugin add https://github.com/grrrian/phonegap-parse-plugin --variable APP_ID=PARSE_APP_ID --variable CLIENT_KEY=PARSE_CLIENT_KEY 
0

好了,我是有這個問題爲好。我卸載了所有的豆莢,重新安裝了它們,但沒有運氣。 因此,好消息(考慮到我花費在試圖發現問題上的時間來看壞消息)是我最終設法解決了這個問題。顯然,你必須在解析之前導入Foundation/Foundation.h。我不知道這是否會對你有用,但我嘗試了網絡上的所有內容,只有這樣才能起作用。如果您對此有任何實例:

#import <Parse/Parse.h> 
#import <Foundation/Foundation.h> 

翻轉過來,以便基金會首先聲明:

#import <Foundation/Foundation.h> 
#import <Parse/Parse.h> 

我也讀的地方,一些人不得不與Facebook SDK並解析SDK進口的問題。顯然,這兩者有Bolt.Framework共同之處或者什麼,這會導致錯誤。我也刪除了Facebook SDK,這一開始並沒有什麼區別。我希望我能幫忙。

1

它爲我工作。 只要到Build Active Architecture OnlyDebugyesReleaseNo enter image description here