[英]Bridging-header works, but imports are not working?
我使用CocoaPods安裝了一個庫,一切似乎都可以正常工作。 我在項目中添加了一個橋接頭,因為在該頭中使用了幾個不同的庫,所以我知道它是可行的。 但是我只是安裝並橋接了libPhoneNumber-iOS ,它似乎可以正常工作,除非...沒有。 我找到了文件,它正確地將它們導入了標題,但是我不能迅速使用它。 它應該是NBPhoneNumberUtil
,但是不存在。
我已經在標題中將它們導入為:
#import "libPhoneNumber_iOS/NBPhoneNumberUtil.h"
#import "libPhoneNumber_iOS/NBPhoneNumber.h"
如果我鍵入不同的任何內容,它將給我一個錯誤消息,提示它無法指定文件,因此應正確導入。 另外,如果我在此頭文件中鍵入NBPhoneNumberUtil
,則可以看到該對象,因此它可以工作。 但是在我的快速項目中,模塊不存在。 再一次,我知道我的橋接文件有效,因為我在此文件中迅速使用了其他庫。 任何想法可能有什么問題嗎?
更新#1:
因此,我嘗試將導入添加到我的swift文件中,它“正常工作”。
import libPhoneNumber_iOS/NBPhoneNumberUtil
import libPhoneNumber_iOS/NBPhoneNumber
除了Xcode抱怨這不是可行的語法外,它還希望在某處添加一個半冒號。 但是現在我可以創建所需的對象,但是由於Xcode希望我先修復錯誤,所以無法編譯。 太奇怪了 有任何想法嗎?
我現在解決了這個問題。 問題是我使用use_frameworks!
在我的pod文件中,因此路徑是不同的。 實際上,當您使用use_frameworks!
您不需要橋接標頭,而必須直接快速導入文件。 問題是我不知道如何導入,但是現在可以了。
莢文件:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '8.0'
target 'test' do
pod 'libPhoneNumber-iOS', '~> 0.8'
end
target 'testTests' do
end
在Xcode項目中,您不再需要橋接頭,而只需將庫導入到要使用它的位置即可,如下所示:
import libPhoneNumber_iOS
現在應該可以了。 希望這對其他人有幫助。
答案是將它們像這樣導入橋接頭中:
#import "NBPhoneNumberUtil.h"
#import "NBPhoneNumber.h"
我用來測試的過程如下所示。
我為Objective-C使用了單視圖應用程序模板。
Podfile:
source 'https://github.com/CocoaPods/Specs.git'
pod 'libPhoneNumber-iOS', '~> 0.8'
安裝:
$ pod install
此時,Xcode創建了一個橋接頭文件。
我使用以下命令將導入添加到了橋接頭中:
#import "NBPhoneNumberUtil.h"
#import "NBPhoneNumber.h"
在Swift文件中,我寫道:
class Test {
func test() {
let util = NBPhoneNumberUtil()
}
}
該項目編譯沒有錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.