一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题

问题描述:

最近用swift混编oc开发,在oc里面引用swift 的代码,报找不到(PRODUCT_NAME-Swift.h)这个文件。。于是乎找了一些办法,总算是解决了这个问题。。

其实之前在做的时候,没有出现这种问题。都是xCode11之才出现的。出现的原因是,现在需要修改应用的名字。比如以前叫“testDemo”现在叫“swiftDemo”,这样一下子就不行了。找不到文件。。。

以前修改应用名

不知各位大佬在做开发的时候一般是怎么给你的应用起名字的。。我一直直接修改下面这个地方就好了。。


一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第1张图片
修改应用程序名字

然而在xCode11 以前可以,在xCode11 也可以,或者说是纯objc开发的可以,纯swift开发的也可以。但是最近的项目里面却不可以了。

出现问题的原因。是由于我的项目里面使用了swift和objc的混合编译。

下面是一个swift混编objc的项目,里面直接设置没有问题,运行也没有问题。
一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第2张图片
swift项目的基本信息

一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第3张图片
objc文件访问swift文件的头文件

到这里一切都变得平静。运行,ok,没问题。。

这里下来看看编译的文件

看看objc的程序


一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第4张图片
oc编译的文件

再来看看混编的


一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第5张图片
swift混编oc的文件

修改应用程序名称了。

然后这时候,突然说要修改应用程序名字了。。那好吧直接修改就是了

看下面:
一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第6张图片
修改应用程序名字

一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第7张图片
运行的结果

是不是有点爽呀,有没有太爽。。
于是就找解决办法嘛。。既然找不到文件路径,那就去看看里面到底是个啥玩意。。

于是乎在这里找到了

/Users/sobeycloud/Library/Developer/Xcode/DerivedData/ASwiftDemo-baakaxhjmtnjakeohifhaocqkheb/Build/Intermediates.noindex/ASwiftDemo.build/Debug-iphoneos/ASwiftDemo.build

这里面就是编译的文件。。。

现在来看看里面的编译文件吧。


一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第8张图片
修改后的编译文件

既然这样,那我们修改一下饮用的地方就好了么

修改桥接文件的引用。哈哈哈

一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第9张图片
修改引用文件后

果然,这样一修改,一下子就可以了。。
但是这样是不是很麻烦,要是有多个文件都在引用,那是不是要每个文件都需要修改呀,那这个工作太大了。。。。显然不适合懒惰的码农们。

最后的解决办法。。

修改info 里面的display name,其他应用的地方不用修改,二期编译文件名也没有改变,但是General 下面地方又改变了,表示没看懂什么原因。。


一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题_第10张图片
修改dispaly name

就这样,应用程序的名字就修改完成了。。

最后发现,,这个应该是xCode的bug ~~~反正我看同事的xCode没有这样的问题~~~难受

你可能感兴趣的:(一个关于xCode11(报找不到 PRODUCT_NAME-Swift.h 文件)的一个问题)