【发布时间】:2017-08-21 09:03:15
【问题描述】:
我更新到 Xcode 8.3 和 Swift 3.1,并在我的桥接头文件中收到了这个警告,引用了一个 Objective-C 头文件:
文件“File.h”的不可移植路径;指定路径与磁盘上的文件名大小写不同
我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c swift xcode bridging-header
我更新到 Xcode 8.3 和 Swift 3.1,并在我的桥接头文件中收到了这个警告,引用了一个 Objective-C 头文件:
文件“File.h”的不可移植路径;指定路径与磁盘上的文件名大小写不同
我该如何解决这个问题?
【问题讨论】:
标签: ios objective-c swift xcode bridging-header
原来我拼错了文件名,正确的名称是“FILE.h”而不是“File.h”。出现警告是因为即将推出 macOS 的 APFS。
【讨论】:
就我而言,!!项目文件夹名称!! 与桥接头路径不匹配。
我变了
“项目/project-Bridging-Header.h”
到
"项目/project-Bridging-Header.h"
在 Xcode 9.3 上测试
【讨论】:
我遇到的另一个原因是库项目错误地导入了自身。例如,给定项目 Main 和 Library,Main 将导入 Library:
#import "Library/Library.h"
如果 Library 尝试使用相同的导入,Non-portable path 警告将出现。删除路径部分很容易解决:
#import "Library.h"
更好的解决方法是从自身导入库需要的特定组件:
#import "Widget.h"
#import "NSString+Library.h"
【讨论】:
在 MacOS 计算机上通过在 Ubuntu 上开发和运行的代码遇到 Qt (C++) 中的问题。
我的项目有两个文件:server.cpp 和 Server.cpp。
解决方案是更改一个文件的名称或另一个。
【讨论】: