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希望我先修复错误.这太奇怪了.有任何想法吗?
我现在解决了这个问题.问题是我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)
现在它应该工作.希望这有助于其他人.
| 归档时间: |
|
| 查看次数: |
1333 次 |
| 最近记录: |