Bridging-header工作,但导入不起作用?

Clo*_*ise 1 xcode ios cocoapods swift bridging-header

我使用CocoaPods安装了一个库,这一切似乎都有效.我在我的项目中添加了一个桥接标题,我知道这是有效的,因为我在这个标题中使用了几个不同的库.但我刚刚安装并桥接了libPhoneNumber-iOS,它似乎工作,除了......它没有.我找到了文件,它在标题中正确导入它们,但我无法在swift中使用它.它应该是NBPhoneNumberUtil,但它不存在.

我在标题中导入了这些:

#import "libPhoneNumber_iOS/NBPhoneNumberUtil.h"
#import "libPhoneNumber_iOS/NBPhoneNumber.h"
Run Code Online (Sandbox Code Playgroud)

如果我输入任何不同的东西,它会给我一个错误,说它不能指定文件,所以这应该正确导入.此外,如果我输入NBPhoneNumberUtil此头文件,我可以看到该对象,所以它的工作原理.但在我的快速项目中,模块并不存在.再次,我知道我的桥接文件有效,因为我在这个文件中使用其他库,并且在swift中.什么想法可能是错的?

更新#1:

所以我尝试将导入添加到我的swift文件中,它"有效".

import libPhoneNumber_iOS/NBPhoneNumberUtil
import libPhoneNumber_iOS/NBPhoneNumber
Run Code Online (Sandbox Code Playgroud)

除了Xcode抱怨这不是一个可行的语法,它想在某处添加一个半冒号.但是现在我可以创建我需要的对象,但是我无法编译,因为Xcode希望我先修复错误.这太奇怪了.有任何想法吗?

Clo*_*ise 5

我现在解决了这个问题.问题是我use_frameworks!在我的pod文件中使用,因此路径不同.事实上,当你使用时,你use_frameworks!不需要桥接头,并且必须直接在swift中导入文件.问题是我不知道如何导入它,但现在我做了.

pod文件:

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
Run Code Online (Sandbox Code Playgroud)

在Xcode项目中,您不再需要桥接头,只需将库导入您想要使用它的库,如下所示:

import libPhoneNumber_iOS
Run Code Online (Sandbox Code Playgroud)

现在它应该工作.希望这有助于其他人.