So I had to delete my project and then reclone it from my repository, but when I clone down the project and I open it, other files from some time ago show in there, how is this possible?
Example this is the cloned directory:
But when I open the project, it shows this project structure:
Also it produces the following error when attempting to build the project:
Build input file cannot be found: '/Users/Development/Projects/MapGlider/Application/Utilities/Extensions.swift'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?
All help will be appreciated!
The structure of the project as you see it in Xcode is a combination of file system + information about your project in YourProject.xcodeproj/project.pbxproj file. So you have a mismatch between file system and that file, which is typically a result of inaccurate checkin (for example some changes were done directly in file system, and the project was not updated), or a bad merge (developer A did everything right, developer B, or even the same developer on a different branch, overrode those changes incorrectly).
So what you need to do is to fix those errors one by one.
Note: the steps below assume the project is in your control. If you are using some script or tool to generate the project, you will have to address those issues via that tool or script instead.
First, fix the project structure:
Make sure Inspectors on the right side in Xcode are open. Choose File inspector tab
Focus on a folder inside Xcode, and check Name, Location and Full Path of the folder. Especially notice the Full Path, if it's incorrect, change it to a correct one. Here's the example how. Repeat for all folders and files you want to have in the project
Delete all folders and files you don't want to have in the project from Xcode. For example you can delete Extensions which appears as a file in your project, while it's actually a folder. Typically while deleting you should be able to delete them from file system as well if it exists, but if not, you can double check in file system and delete files / folders from there as well.
Add folders and files missing from the project if needed. Follow Add existing files and folders to a project section in the linked page.
Once you cleaned up the project, you need to review / fix all your project targets:
To fix the Project targets
Try to build each target. If it succeeds, most likely everything is resolved (although watch out for runtime errors for resource files - so you may need to test your app to ensure nothing is missing too).
If building a target fails, you will need to see why. For example
if file is missing from the target, but you already added it to the Xcode project, you can add it to the target (see this page).
if file is missing from the target and is not visible in Xcode, go back to step 4 of the previous procedure and add those files to Xcode project, and then add them to the target
if a file is nowhere to find and is not needed, you can delete it from target. If it was needed, then... well, you have a problem and need to locate your missing code in your source repo or rewrite it.
I am getting the following error when building in Xcode 10.0 with swift 4.2:
Moving the folders around the inspector can cause the error "Build input file cannot be found"
SWIFT 5
In Swift 5, the error came up but the identity showed no errors.
Go under build settings and select packaging.
Delete the current paths for Debug and Release and enter your new path where the info.plist is kept.
For example [APPROJECTNAME]/[THEINFOPLISTFOLDER]/info.plist
In the screenshot below, the path is API-client/Resources/info.plist
SWIFT 4
To fix it, go to the general tab and under identity reselect the info.plist that you like
Build input file cannot be found
How To fix This issue :
Go in the project-navigator, select your project
Select Build Phases tab
In Compile Sources section, check for the file(s) that Xcode is demanding of
Notice that the file(s) have the wrong path, and delete them by clicking on the minus icon
Re-add the file(s) by clicking the plus icon and search in the project.
Product > Clean Build Folder
Build
A most common error when you move Info.plist in another folder.
To fix this error you can select the Info.plist and choose Relevant to Project from file inspector.
Next step, go to Build settings and search for info.plist and fix the file path.
I got this issue after resolving the conflicts in project.pbxproj.
Step 1: Removing the "Build input files cannot be found" files from BuildPhases -> Copy Bundle resources and adding them back worked for me.
If the above Step 1 doesn't work, search for "Recovered References" folder in your project structure and remove the files that are causing this issue and repeat Step 1
For build file missing i.e. info.Plist :
Under Project navigator,
select(click) Project name and icon,
In middle pane, click target
click blue General tab on top
click / Targets
click [Choose info.plist File] button
in pop-up window, select the info.Plist file
I had the same problem with a missing view controller file that couldn't be found after cloning a project in a new folder. I deleted the view controller but the compiler continue asking for a file in a path that doesn't exist anymore.
I solved the problem as follows:
Select the project target in the Project-navigator,
Go to Build Phases tab
In Compile Sources section, check for the file that the compiler is asking for. You can filter by the name at the top right of the screen.
The deleted file is still on the list with a wrong path, delete it by clicking on the minus icon. You have to do it for all the target you may have.
In the case that you still use the file, add it on a new path by clicking the plus icon.
Clean Build Folder in the Product Menu.
It should work now :D
(Objective-C Project / Xcode Version 10.2.1 (10E1001))
This works if you get the 'Build input file cannot be found error message' and also have files that are red in the inspector:
Open your project folder in Finder
Make a copy of the affected files onto your Desktop
Delete the affected files in Xcode and then close Xcode
Re-Open Xcode and drag your copied files into your Xcode project
This worked for me. Before I got the error message I was re-organising files in the file inspector which gave me that error message and made the files I was moving around turn red. Hope this helps !!
I tried going to Compile Sources in the Build Phases tab and deleting and re-adding the selected file (and cleaning and rebuilding)but it didn't work :( Instead, this following answer worked for me if you get the 'Build input file cannot be found' error message:
Delete the affected files in Xcode (I right-clicked->Delete'd in the Navigator)
Re-add the affected file (mine was .mlmodel) and I selected "Copy items if needed" under Destination.
Cmd-shift-k to clean and then Cmd-b to build
and voila! The file was recognized and error gone!
Hope this helps!
For me this worked:
Click the app name under TARGETS
Build Settings -> Packaging -> Info.plist File
There change the file location of the Info.plist File to the new location.
DemoApp/Info.plist to DemoApp/Assets/Info.plist
I got this error when I moved my Info.plist into a folder.
When I took Info.plist out of the folder, I no longer got an error.
Change the build setting to legacy
First, open your project in XCode by double-clicking on ios/<YourApp.xcodeproj>
Then go to File > Project Settings...
Change the Build System to Legacy Build System in Per-User Project Settings:
Select general tab and under identity select the info.plist you want for your development
For me something totally different worked:
Go to Target>Build Settings>Architectures
My valid architectures before: arm64 arm64e armv7 armv7s (Defaults)
Changed it to: armv7 i386 arm64 armv7s
In my case I got this error when I renamed a ViewController name using Refactor. The view controller name occurrences were changed but the real file not.
I tried to do what #ajji said but it didn't work. So I changed the name of the real file. After that all worked like a charm
If your file(s) - that couldn't find - icon color is pale. And you right click on it and "Show in Finder" does not open Finder. It means your file name is not same as what you see in the Navigator.
to Solve it, go to where your file exist, and change its name to be same as what you see in the Navigator.
I also faced same issue while building my xcode project - "Build input file cannot be found:"
Cause: I renamed my entire project but not the build setting.
Solution: In my project's build setting--> Packaging, I updated the path of the info.plist file. Now working fine.
If all else fails:
In Xcode. Remove references of files in question from your project.
Open your project.pbxproj file as a file in Xcode. This is in .xcodeproj
Delete all lines containing the name of said files. Save.
Back in Xcode. Re-add files to your project in Xcode.
In my case the file wasn't at the right path, Xcode was expecting to find the input file at a path like /Users/Malloc/Projects/MyProject/Info.plist while in reality the file was located at a different path like /Users/Malloc/Projects/MyProject/Subfolder/Info.plist.
A quick fix to this is to simply right click on the file then select Show in Finder, then drag the file to the correct path Xcode is expecting.
I got this error when i renamed a ViewController name using "Refactor". The view controller name occurrences were changed but an old reference was somewhere still existing.
Deleting derived data & Clean build folder worked for me.
Here's how to delete Derived data:
File>Workspace settings> Click arrow & remove all folders inside Derived Data.
In my case, it was due to localization.
Here's how to fix it.
How to localise a string inside the iOS info.plist file?
Update for Projects w/ Swift Packages
How did the errors happen?
I ran into this issue when I had imported Swift Packages into my project but later cleaned DerivedData to fix an unrelated app caching issue. My existing project was not a local Swift Package but an iOS app project.
Note that we can still encounter the same issue in local Swift Package projects.
What is the reason for the errors?
Swift Packages are checked out into DerivedData and are not referenced from the ModuleCache.noindex subfolder. Thus, cleaning the app's folder in DerivedData or DerivedData itself breaks dependency resolution within Xcode for Swift Packages.
This is a misleading build error since there may be nothing wrong with the app code you've written or your dependency resolution graph. The only thing required is to refresh the dependencies.
How can I resolve the build errors?
Xcode now has nice options within the IDE itself to resolve Swift Packages. These options trigger a new checkout into DerivedData:
We can use three options, as shown in the image above depending on our use case:
Reset Package Caches: Trigger a re-install of your existing Package dependencies w/ same versions.
Resolve Package Versions: Use this option for updating Package checkouts when fixing Package Versions for cross-compatibility (in Project Settings).
Update to Latest Package Versions: Use this to update all Swift Package dependencies to the latest versions. This option may be a local breaking change if the API changes.
NOTE: Apple's documentation recommends to use Xcode for dependency resolution when working with Xcode projects excluding CLTs.
Other solutions
We can also fix the error by restarting Xcode, but I find this step breaks my workflow and is tedious.
If we are running from the command line (local Swift Package executable), we can stick with a swift build variant without jumping to Xcode at all (Source). swift build doesn't work as easily out of the box in other projects, however.
Use xcodebuild:
xcodebuild -resolvePackageDependencies
I prefer staying in Xcode for simplicity but YMMV.
Goto Project Navigator.
Click on project.
Click on Targets.
Goto Build Settings.
Search Prefix.pch.
Change the location of this file (input the updated location).
This will resolve the issue as mine.
Had the same problem with swift files. Select files that are not recognised and Delete with Remove Reference option. Right click in the folder and Add files again.
In some cases, if you Refactor your existing ViewController files or any other files using right-click -> Refactor option within the Xcode workspace then on compiling this error will come since the File name is not changed in original place but reference is updated, so in that you need to also manually change the old file to new name.
When I checked out the code first time from the Git I faced the same issue for few pod file. Updating the pod file solved my issue.
Open the project folder in the terminal window
Run 'pod update'
Clean the XCode and run.
I just had to open the project in finder and drag/drop the appropriate files in the project folder
Build input file cannot be found
How to fix this issue?
My Approach:
1.From Project Navigator ->Files ->Add Files to Lowes ->In Finder View, check to which folder this lost referenced file is moved
to and check with your team members if anyone moved it for a reason.If it occurred by mistake
then follow below steps
2.From Project navigator, directly tap on the file which is causing issue.This is the same file that XCode shows as not found in
error .So clearly this file has lost reference and we need to
restore it back
3.The Swift bird folder icon appears in light red color which is an indication of lost reference
4.Right click on it and Delete it
5.Next from Project navigator -> Files ->Add Files to Lowes -> Finder View go to the folder where this referenced file is moved to
and tap on ADD button in popup window
6.Now if you look at the Project Navigator this file swift bird icon appears in bright red , but you will also find an extra file
with the same name at the top of the Project Navigator
7.Make sure you have this file in the right folder if not move it to right folder
8.Now right click to delete the very top redundant file, here do not select " Move to Trash" option.Just select "Remove References" option
This fixed my issue.
Adjust the file path according to that provided in the Xcode Error
My issue was a missing SettingsController file.
I copied a file from projectA to projectB but forgot to tick Copy items if needed. Unbeknownst to me a couple of weeks later when I deleted projectA the SettingsController file in projectB got deleted along with it. Afterwards in projectB the error Build input file cannot be found ... path/Folder/toSomeFile was shown.
To fix it I closed Xcode, went to the main folder that it was in, opened the folder and right clicked on the blue Xcode icon with the extension .xcodeproj, then I choose Show Package Contents
From there I double clicked on the project.pbxproj icon
Once the project.pbxproj file was opened I pressed command+f and in the search field I entered the path part of the error path/Folder/toSomeFile
It took me to 1-2 lines of code that looked like this
Once I deleted those 1-2 lines, when I went back to the projectB and opened it the error was gone.
Just for a little more clarity the exact path of the error was whogotgame_42/whogotgame/Controllers/SettingsController.swift. So that is what I exactly entered in the project.pbxproj search field to get to those 1-2 lines that you see in the picture.
I got this error when I put the Info.plist file inside a folder. Then when I extracted the file to public view, the error went away.
I deleted a project in my workspace, then tried to create a new project with the same name. Eclipse told me that it overlaps the location of another project (the one I just deleted). How do I fix this?
This is what I did.
Go to Window --> Show View --> Project Explorer
Then right click on the project name that you want to delete and Click Delete.
In the dialogue box, check 'Delete Project Contents on disk'
It worked. I was able to create the project with same name again.
I had the same problem with the IBM Integration Toolkit, which is based on Eclipse. The problem also occurs in Android Studio, which is also based on Eclipse. crazyscot seems to have the right answer at A project with that name already exists in the workspace eclipse and his solution worked for me.
You need to open up the Project Explorer view (it may already be open) and delete the project from within there.
Go to Window >> Preferences >> General >> startup and shutdown >> workspace
theen select Recent work space then click Remove and close the program and open it again
You have to manually delete the project folder from your "workspace" directory (wherever you have defined it to be).
there will be a file .project xml file in the project and its content looks like
<projectDescription>
<name>ProjectName</name>
.
.
.
</projectDescription>
here ProjectName is the name of project you can change it to whatever you want.
First you create a project in some other location with the same name of your project as before.
Now delete this project by right clicking on project > Delete.
Do not check the dialog "Delete Project Contents on Disk".
Now you move your newly created project through file manager to the original location(location where you are not able to import your project).
Then import the project from the newly moved location(location where you are not able to import your project).
After deleting the project from Eclipse IDE(Project Explorer), remove it from work space folder as well. Workspace folder path - C:\Users\username\workspace (it can be different for your system).
try moving the project and try importing
go to tab window>preferences>search workspace> then make sure in last / is not in your recent workspace. Example-:/var/www/html
your url should like above.
With the same problem, I did a text search and found an XML file containing the name of the project.
I had copied the project from another project. Let's say that I copied project A to project B. Although the XML file in the new project (B) was named for project B, it had an entry which still referred to project A. When I edited it, the problem went away.
Simply remove the .classpath and .project files and try.
Go to create new project. Once there, select the project type. Mine was PHP project. The new PHP project screen will popup. There, click create a new project and give the project name which you used before. Then press finish.
If you need a 100% risk-free strategy, just right click the project and select 'export', and put it back where it was. Then, you can either continue using the project in your current directory (with no more popups) or switch over to the directory you were working in before. The side effect of the former is that you will have a duplicate project taking up a small amount of space. If anything, finish up what you need to do in the current directory, then pull (via git) from the original directory. Or, delete the project in the current directory, and import from the original directory to the target directory for the second time - though now, since it is the proper way, the issue will be resolved.
I met this problem just and I just figure out the main reason cause this problem is your copying pom.xml from another already existing project in your workspace.
So the way is find the pom.xml in your project folder and rename <name>conflicted Project name</name>.
In 2021, Using Ubuntu 20 here is simple way to remove it.
In Eclipse main Menu
Window -> Preferences
In the search type recent workspaces
Select and delete the project. click apply changes
Removing a project from an Eclipse workspace does not delete the files by default. You have to check a checkbox for that. This is a Good Thing. As you have not checked the checkbox, you have to delete the files manually using e.g. a file manager.
Note that there are files starting with . in an Eclipse project directory, such as .project. They are considered hidden files on Unices.
go to the folder and delete the file .project. This worked for me.
I have this warning message, and I don't know how to get rid of it. I used to have a folder MBRAND3 in my folder (on the desktop) and I cleaned this folder (I moved it in another place). Then I reedited the links. All works fine, but the compiler is still looking for the former place of the folder.
Do you know what to do to clean this error message ?
Thanks
You'll need to delete it from here:
Looks like you still have the linking going on somewhere in your project settings
Try a clean-build (Clean all targets, Build)
Check in the project settings AND target settings if the old path is still being referenced at any location
if the above fail, inside your xcodeproj (show package contents) - you will have a pbxproj file - try opening that in textwrangler or similar and delete any old file/folder references manually. backup first though!