Xcode 10 unexpected duplicate task: CopyPlistFile

Viewed 21612

Today I updated my Xcode from v.9.4.1 to v.10.0. Now I try to build my tvOS project and I see the following error: unexpected duplicate task: CopyPlistFile /Users/username/Library/Developer/Xcode/DerivedData/MyApplication/Build/Products/Debug-appletvos/MyApplication.app/Settings.plist /Users/username/project_folder/Settings.plist (in target 'MyApplicationTarget'). I tried to reinstall pods (I use CocoaPods 1.6.0 beta) and clean build folder, but it does not help. How can I solve this problem in Xcode 10?

6 Answers

I was getting this for a core data model .xcdatamodeld, It turned out the model file was listed under both "Compile Sources" & "Copy Bundle resources" in Build Phases. Removed it from the latter and it build in Xcode 10 finally!

Faced same problem. Resolved it using following

go to Target -> Build Phases

Check if your file is appearing in both Compile sources and Copy Bundle Resources section, if yes remove it from Compile Sources

File -> Workspace Settings -> Change New Build System to Legacy. It worked for me .

In my case, the conflicting files were not listed in Copy Bundle Resources but only in Compile Sources section.

I went in project navigator, selected the file, and in File Inspector / Target Membership unselected and again selected the app target (untick and tick checkbox next to app target).

The files disappeared from 'Compile Sources' and appeared under 'Copy Bundle Resources' and I was able to continue with the build process.

Go look at that target’s build phase that copies resource files and see if your Settings.plist is listed more than once.

In my project.pbxproj file I had these lines:

FIRSTSTRING /* Settings.plist in Sources */ = {isa = PBXBuildFile; fileRef = FIRSTSTRING /* Settings.plist */; };
SECONDSTRING /* Settings.plist in Resources */ = {isa = PBXBuildFile; fileRef = SECONDSTRING /* Settings.plist */; };

As I can see Settings.plist was specified twice in this file, as source and resource.

I removed Settings.plist from my project and added it again in Build Phases -> Copy Bundle Resources. Now I see that the lines I mentioned above are missing and I have this line in my project.pbxproj file:

THIRDSTRING /* Settings.plist in Resources */ = {isa = PBXBuildFile; fileRef = THIRDSTRING /* Settings.plist */; };

And now I am able to build my tvOS application with Xcode 10.0.

Related