簡體   English   中英

Pod安裝了Alamofire 4.4,但是Xcode 8.3沒有自動完成類

[英]Pod installed Alamofire 4.4, but class is not being autocomplete by Xcode 8.3

我已經注意到此問題已關閉,但我遇到了同樣的問題。

屏幕截圖2017-05-12 at 10 56 07 am

PS - 我在截圖中提到的類中導入了Alamofire

這是我的pod詳細信息

platform :ios, '10.0'

use_frameworks!
target 'PhotoTagger' do
     pod 'Alamofire'
end

另外,唯一自動完成的是AlamofireVersionNumber,當我嘗試使用自動完成功能時,我無法訪問任何內容。 現在,如果我手工編寫Alamofire,那么我可以訪問一些方法,但是再一次出現問題並且代碼沒有編譯,我認為這可歸結為類沒有被自動完成提取的問題。

我努力了 -

在項目設置>構建設置中

  1. 始終搜索用戶路徑為YES
  2. 標題搜索路徑僅包含“$(inherited)”作為非遞歸

除Alamofire外,所有其他豆莢都正常工作。 在手工編寫類名或復制粘貼之后,一些自動完成的方法與Alamofire類的實際方法沒有相同的簽名

請拜托!! 幫助我解決這個問題,以便在面對此時有人可以幫助自己。 到目前為止,沒有任何解決方案。

PS

我在Alamofire的Github頁面上打開了一個問題,但他們回應了

Sorry, we're not responsible for Xcode's autocomplete issues.
In the future, you should open questions like this on Stack Overflow
and tag alamofire.

Cheers. 🍻

請幫助,我堅持了很長一段時間。

編輯:

這是我的項目設置細節 在此輸入圖像描述 此外,我已經構建了項目,但仍然存在問題。

PS - 手動編寫類,方法甚至,它編譯,但每次,我必須去github頁面,復制粘貼方法簽名,問題是,使用自動完成,我可以導航所有方法簽名,並知道關於公共可用的方法。 但我只限於github中可用的示例方法,因為每次我必須復制粘貼方法並覆蓋實現。 同樣,這會編譯並運行,但自動完成不起作用,不適用於類或函數。

解決方案1

可能這不是關於Alamofire或pod庫,而是Swift和XCode。 很快, 這個答案可能是你的解決方案:

  • 在代碼完成下轉到Xcode>首選項>文本編輯
  • 取消選中'在輸入時建議完成'退出Xcode然后再退出
  • 重新啟動Xcode。 再次轉到Xcode>首選項>文本編輯
  • 轉到代碼完成並選中“在鍵入時建議完成”。
  • 嘗試輸入庫函數或枚舉...

解決方案2

或者,如果你的XCode有一些緩存文件問題,你可以嘗試這個答案 ,不久關閉XCode並刪除下面的文件:

~/Library/Caches/com.apple.dt.Xcode

然后再試一次。

解決方案3

或者你很快就會嘗試這個答案

在文件中的@end之后找到任何已注釋掉的(/ * abc * /)代碼並刪除。

如果有任何解決方案,請告訴我。

我曾經遇到過同樣的問題。 我不記得到底有什么用,但我們現在就會弄明白。

«Build Settings -> Search path -> Framework Search Paths» ,查看是否有以下內容:

Always Search user Paths : NO
Framework Search Paths: $(inherited), "$PODS_CONFIGURATION_BUILD_DIR/Alamofire", "${PODS_ROOT}/Alamofire/" 

這些搜索路徑可能與您的搜索路徑不同,因此請根據文件的保存位置仔細檢查上面的路徑是否正確。

在對配置文件進行更改之前,請先備份以防萬一。

進行更改時,構建項目並重新啟動Xcode。


我剛剛與Alamofire做了一個測試項目:

安裝pod:pod'Alamofire','〜> 4.4'

首次打開xcworkspace:自動完成功能不起作用。 Xcode無法識別導入Alamofire。

然后:

構建項目:項目 - >構建

Xcode識別導入Alamofire。

鍵入Alamofire時它不起作用,只有AlamofireVersionNumber自動完成。

但是當輸入Alamofire時(從alamofire鍵入一個已知的命令,它將自動完成)

對我來說,在Build Settings中添加任何內容都不起作用,但是刪除Derived Data並構建Pod方案明顯有效。

轉到“管理方案”並檢查Pods-MyProject方案和未自動完成的窗格之一。 關上窗戶。 首先選擇損壞的pod的方案(運行和停止按鈕旁邊的按鈕)和Build for Running shift + cmd + R 第二步選擇Pods-MyProject方案,然后選擇Build for Running。 切換回您的正常方案,你應該沒事。

您是否刪除了項目或整個項目的派生數據? 我已經發生了這種情況,擦拭了一切。

幾天前我遇到了這個問題。 我認為這是因為Xcode無法找到Alamofire頭庫。 我要解決的是:

1)轉到構建設置並搜索“用戶標題搜索路徑”

2)輸入其值為“$ {PODS_ROOT} / BuildHeaders”,包括引號

3)再次單擊該項,在右側,將選擇的值更改為“遞歸”

現在重新啟動Xcode並構建項目。 現在自動完成工作正常

有時當您從終端窗口安裝某個pod時,您需要重新啟動xcode或mac,然后才能正確查看導入名稱。

不幸的是,Xcode是愚蠢的。 即使使用服務器端SPM,大多數高級庫也會出現同樣的問題。 直到蘋果改進了xcode,不幸的是,有些東西會隱藏在我們身上。

我目前正在使用Xcode 9.2

刪除任何有錯誤的代碼(任何不完整的alamofire調用嘗試等)后,只需進行構建。

您的pod字符串可能有誤。 請試試這個

pod 'Alamofire', '~> 4.4'

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM