升级到Xcode10以后,编译过程遇到的第一个问题就是类似于这样的:
Multiple commands produce '/Users/jiaxiaoyan/Library/Developer/Xcode/DerivedData/LJShell-emaksjqtieseunfuiotagpjkluwp/Build/Products/Debug-iphonesimulator/Lianjia_Beike_SecondHand_Private/Lianjia_HomeLink_House_Private.bundle/Info.plist':
1) Target 'Lianjia_Beike_SecondHand_Private-Lianjia_HomeLink_House_Private' has copy command from '/Users/jiaxiaoyan/Desktop/LJworkspace/repoWorkSpaceRootPath/mobile_ios/lianjia_ios_platc/Lianjia_Beike_SecondHand/Lianjia_Beike_SecondHand/Lianjia_Beike_SecondHand/Private/HousePrivate/LJSecondHandHouseComponent/HouseVideo/AliyunVodPlayerSDK.framework/Info.plist' to '/Users/jiaxiaoyan/Library/Developer/Xcode/DerivedData/LJShell-emaksjqtieseunfuiotagpjkluwp/Build/Products/Debug-iphonesimulator/Lianjia_Beike_SecondHand_Private/Lianjia_HomeLink_House_Private.bundle/Info.plist'
2) Target 'Lianjia_Beike_SecondHand_Private-Lianjia_HomeLink_House_Private' has process command with input '/Users/jiaxiaoyan/Desktop/LJworkspace/repoWorkSpaceRootPath/mobile_ios/lianjia_ios_platc/lianjia_ios_platc/Pods/Target Support Files/Lianjia_Beike_SecondHand_Private/ResourceBundle-Lianjia_HomeLink_House_Private-Info.plist'
不仅是这个Info.plist文件的问题,也提示了一个png图片重名的问题,类似于
Multiple commands produce '/Users/***/***/............/update.png'
这样的提示。
大致的原因是这样的,其实也就是我自己意淫的想法:
Xcode10开始,编译器对项目中的资源文件进行了重命名的监督。因此解决问题的方法就是改名字或者直接删除。
像第二种情况,直接根据提示的路径,找到对应的图片文件,换个名字就行了。(当然,之前用到这个文件的地方,名字也要同样改过来哦)
关于Info.plist重复的情况,事情是这样的。很多的第三方包中,都包含有自己的Info.plist文件,并且一贯的做法是将Info.plist文件作为资源文件,放置在它们自己的.bundle文件中的。
Xcode也是将项目中的Info.plist文件作为资源文件管理的,既然是资源文件,那么就可以在Build Phases --> Copy Bundle resources中看到这个Info.plist文件,不信你瞅瞅。
基于上面的意淫,解决Info.plist的问题有两种方法:
(1)在项目中搜索"Info.plist"文件,除了我们自己项目的Info.plist文件,一律删除。
(2)不让Xcode把项目中我们自己的Info.plist文件当作资源文件进行统一管理。操作就是,在Build Phases --> Copy Bundle resources中找到这个Info.plist文件,从中移除掉。
我,本文的意淫作者,使用的是第二种方式,完美解决问题。哦耶~
【极力推荐】中秋节两天的良心写作,全面讲解UITextField,总有你不知道的知识:UITextField的使用、介绍、讲解、全解、简介、说明