一个关于xCode11(报找不到 PRODUCT_NAME-Sw
2019-10-08 本文已影响0人
Nulll
问题描述:
最近用swift混编oc开发,在oc里面引用swift 的代码,报找不到(PRODUCT_NAME-Swift.h)这个文件。。于是乎找了一些办法,总算是解决了这个问题。。
其实之前在做的时候,没有出现这种问题。都是xCode11之才出现的。出现的原因是,现在需要修改应用的名字。比如以前叫“testDemo”现在叫“swiftDemo”,这样一下子就不行了。找不到文件。。。
以前修改应用名
不知各位大佬在做开发的时候一般是怎么给你的应用起名字的。。我一直直接修改下面这个地方就好了。。
修改应用程序名字
然而在xCode11 以前可以,在xCode11 也可以,或者说是纯objc开发的可以,纯swift开发的也可以。但是最近的项目里面却不可以了。
出现问题的原因。是由于我的项目里面使用了swift和objc的混合编译。
下面是一个swift混编objc的项目,里面直接设置没有问题,运行也没有问题。 swift项目的基本信息objc文件访问swift文件的头文件
到这里一切都变得平静。运行,ok,没问题。。
这里下来看看编译的文件
看看objc的程序
oc编译的文件
再来看看混编的
swift混编oc的文件
修改应用程序名称了。
然后这时候,突然说要修改应用程序名字了。。那好吧直接修改就是了
运行的结果
是不是有点爽呀,有没有太爽。。
于是就找解决办法嘛。。既然找不到文件路径,那就去看看里面到底是个啥玩意。。
于是乎在这里找到了
/Users/sobeycloud/Library/Developer/Xcode/DerivedData/ASwiftDemo-baakaxhjmtnjakeohifhaocqkheb/Build/Intermediates.noindex/ASwiftDemo.build/Debug-iphoneos/ASwiftDemo.build
这里面就是编译的文件。。。
现在来看看里面的编译文件吧。
修改后的编译文件
既然这样,那我们修改一下饮用的地方就好了么
修改桥接文件的引用。哈哈哈
修改引用文件后果然,这样一修改,一下子就可以了。。
但是这样是不是很麻烦,要是有多个文件都在引用,那是不是要每个文件都需要修改呀,那这个工作太大了。。。。显然不适合懒惰的码农们。
最后的解决办法。。
修改info 里面的display name,其他应用的地方不用修改,二期编译文件名也没有改变,但是General 下面地方又改变了,表示没看懂什么原因。。
修改dispaly name
就这样,应用程序的名字就修改完成了。。