I did this by manually editing the .xccheckout
file.
Here are the steps that should work for you:
- quit Xcode, and make a backup of your project file.
- in the Finder, right-click on your project file and select "Show Package Contents"
- right-click on the
project.xcworkspace
file, and select "Show Package COntents"
- in the folder named
xcshareddata
, there is a file with the extension .xccheckout
(it should have the same name as your main project file, but with the .xccheckout
extension)
- make a backup of this file
- open the
.xccheckout
file in your favorite plain-text editor - this is a plist.
- find the
IDESourceControlProjectWCConfigurations
key, and look for the <dict>
that has the name of the repository that you want to remove.
- in the same
<dict>
there is a key IDESourceControlWCCIdentifierKey
whose value contains an identifier that looks like a UUID - this string identifies the repository.
- search the entire file for key/string pairs that have the ID as the key.
delete all these pairs.
- delete the
<dict>
- save the file
- re-open the project in Xcode, and make sure everything is good.
If it is still showing up, make sure that none of the files in your project are located in the directory of the old repository (via an absolute file reference). You can investigate this by opening up the main file project.pbxproj
, which is inside your project file.
You can also test this out by temporarily renaming the root folder (in the Finder) of the old repository, and if the repository no longer shows up in the Source Control menu, then you have a file in your project that is located in that old repository.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…