Xcode Workspace has been modified by another application.
Every time I open AppCode or make certain changes I get the Xcode error:
"
The workspace file at “~/MyProject.xcworkspace” has been modified by another application.
"
I then need to either keep or revert the file to disk.
I have tried both and the message keeps popping up.
I am using Xcode 11 on Catalina and the latest release build of AppCode.
Any advice would be awesome.
thanks
Please sign in to leave a comment.
@Abraham,
Could you please do the following:
1. Close AppCode
2. Close Xcode
3. Commit all changed files
4. Open your project in AppCode and check what changes were made by AppCode?
Is there any chance you have the project open in Xcode while you also have it open in AppCode?
That’s the only time I see this.
Oh, and it could also happen if you’re using a GUI for Git that is set to automatically pull changes from upstream. But that’s only on projects that multiple people are merging into.
@David Nedrow Yes I do have them both open. I would like to keep them both open.
Writing code in AppCode is the best I enjoy it way to much to code anywhere else. However, fixing compile time errors in app code is poor as there is no auto fix like in Xcode. Also run time debugging in appcode is not as nice nor as heavily tooled. Just to mention a few things.
There for I would like continue to edit in AppCode and run and compile in Xcode with out getting that annoying pop up.
Well, there’s no way around what you’re seeing, unless somebody from JetBrains has an idea.
The problem is that you have two apps running, in each of which changes are occurring.
@David Nedrow fair enough thanks :)
@Stanislav Dombrovsky Thanks for getting back to me.
I can see what your trying to do with the version control steps but that won't work. This is due to the fact that the MyProject.xcworkspace is actually a folder and all its content is on the git ignore list.
There are two types of workspace files.
The first and more commonly known one is used as the main file to to manage multi project applications. Very common to engineers who use Cocoapods dependency manager.
The second is a hidden file in the .xcodeproj fie. This only contains user specific IDE workspace files and configurations so is on the git ignore list of most Engineers. It is also on the default ignore list of automatically generated ignore lists like the one provided on GitHub and BitBucket.
In my case I only have the second type of file which is the one in the .xcodeproj file. Please keep in mind that both the .xcodeproj file and the .xcworkspace are not actually files but rather folders cunningly disguised as files. Its the files inside them that are being changed.
If it will actually lead to removing the warning I am happy to setup a series of tests to confirm exactly what is changing and why.
@Abraham,
>I can see what your trying to do with the version control steps but that won't work. This is due to the fact that the MyProject.xcworkspace is actually a folder and all its content is on the git ignore list.
I understand it, but you should have project.pbxproj and contents.xcworkspace under the version control in any case (except you generate the Xcode project with CMake or BUCK). Most probably the warning in Xcode is shown after the modification inside one of these files.
If you don't have these files under the version control, let's temporarily add them and understand which concrete changes are made by AppCode (just to analyze the issue and put them back in .ignore list after that).
i hope appcode have better intergration with xcode. (event xcode dont want)
but i can make sure one thing, appcode is better than xcode.
I'm having same problem.
I temporarily tracked xcworkspace and the file that was modified was <project>.xcworkspace/xcuserdata/<my-user-name>.xcuserdatad/UserInterfaceState.xcuserstate. File is binary plist, co i converted it to XML1 and diffed before version with the one modified by AppCode. There were tons of changes, so I won't post it here. But I have both versions and can upload them if you're interested.
Thank you.