ios - 更新到 Xcode 10.2、Swift 5 后找不到“NBPhoneNumberDesc.h”文件
问题描述
我正在使用 pod chronotruck/FlagPhoneNumber我刚刚更新High Sierra/Xcode 10.1/Swift 4.2/Cocoapoods v-1.5.3
到Mojave 10.14.15/Xcode 10.2.1/Swift 5/Cocoapoods v-1.7.3
,但我无法构建,因为在NBRegExMatcher.m
文件中我得到了错误
找不到“NBPhoneNumberDesc.h”文件
升级前一切正常,我从未遇到任何这些错误。
Podfile.lock 里面有这个:
- FlagPhoneNumber (0.7.6):
- FlagPhoneNumber/libPhoneNumberiOS (= 0.7.6)
- FlagPhoneNumber/libPhoneNumberiOS (0.7.6)
奇怪的是,该 pod 中还有其他几个文件也使用该#import "NBPhoneNumberDesc.h"
模块,但它们都工作正常并且没有任何错误
我试过这个答案,但 NBPhoneNumberDesc.h 已经在公共部分:
我也尝试了这个答案来设置 SWIFT_OBJC_INTERFACE_HEADER_NAME 以匹配我的项目的桥接头,但没有
在NBRegExMatcher.m
文件内部(发生错误的地方)我注释掉#import NBPhoneNumberDesc.h
以查看会发生什么,然后 NBPhoneNumberUtil.h 得到了同样的错误:
我注意到libPhoneNumber-iOS
捆绑在FlagPhoneNumber
吊舱内,它的版本是libPhoneNumberiOS (0.7.6)
. 然后我手动将 pod 添加到我的项目中,看看会发生什么,但它也没有任何区别,错误仍然存在。我唯一注意到的是,当我手动添加 pod 时,Podfile.lock 版本是- libPhoneNumber-iOS (0.9.15)
其中 FlagPhoneNumber 正在使用的版本是libPhoneNumberiOS (0.7.6)
知道如何解决此错误吗?
解决方案
我尝试了一堆关于在 Build Settings > Header File 和/或 User Header 文件中更改内容的答案,但没有一个起作用。我遵循了这个答案,它奏效了:)
我必须做的是改为#import SomeFile.h
使用#import <SomeFile.h>
括号将其更改为。
这是每个文件的代码
在NBRegExMatcher.m
文件中,我必须更改这两个模块:
//#import "NBPhoneNumberDesc.h" // comment this out and add the brackets below
#import <NBPhoneNumberDesc.h>
//#import "NBPhoneNumberUtil.h" // comment this out and add the brackets below
#import <NBPhoneNumberUtil.h>
在我更改了这些之后,我在里面也遇到了同样的错误,NBPhoneNumberUtil.m
并且必须在那里做同样的事情:
//#import "NBRegExMatcher.h" // comment this out and add the brackets below
#import <NBRegExMatcher.h>
以下是每张照片:
pod 'libPhoneNumber-iOS', '~> 0.8'
在旁注中,我还必须将
推荐阅读
- julia - 使用 get 和 set 索引函数进行基于范围的切片?
- ios - Verifone e355 iOS 集成 - 无法使用软模式触发条码扫描器
- java - 哪个是更快的 i++ 或 ++i 以及为什么
- sql-server - 向 Web 服务连接授予数据库权限的良好做法是什么?
- angular - Angular 和 Laravel 错误 - 应用程序已被 CORS 策略阻止
- python - 遍历具有多个句柄的 Pandas DataFrame,并迭代地追加编辑的行?
- c# - 如何从 BuckarooSdk 获取付款状态?
- node.js - NodeJs 未在端口 4000 中运行
- php - 使用 Laradock 主管运行队列
- c# - 在命名管道上读写