On Sep 4, 2015, at 13:28 , Martin Redington <email@hidden> wrote:
Is there some way to change this for everyone, or alternatively, what is it about the project that causes Xcode to pick "Legacy" initially?
Are you sure this is actually happening for other people who check out the project?
There are two separate things going on here. (Maybe more than two, but my brain can take only so much pain.)
1. Every project is *in* a workspace, and the source of the build location is a *workspace* setting. Note “source”. Depending on the workspace setting, the actual path to the build location may actually be in the project or target settings.
However, if you didn’t explicitly put the project in a workspace, then the project is in a workspace that’s inside the project. That’s what you’ve got — the “project.xcworkspace” directory in the project is the workspace the project is in. (See above under “pain".)
2. Some settings (project or workspace) are shared, some are user-specific, some may be either. In your case, the build location is specific to you (MyUsername.xcuserdatad directory).
If this directory has been pushed to the repository, it will be in the project that another person checks out, but the information won’t be used unless that person happens to have the same local user name. What they’ll actually see will be the shared settings from the shared workspace-in-project directory, if there are any, or the defaults controlled by their Xcode preferences if not.
Thus, what you see after a checkout is not necessarily what they see after a checkout. (See above under “pain”.)
I recommend, if this is a public project, not intended to be used by a small, fixed team, is to remove all per-user subdirectories from the project in the repository, which means trekking down the various .xc… subfolders in the repository, looking for things that are under a specific user name. (Use the repository’s web interface for this, since I don’t think you can do it in Xcode.)
*Then* when you check out a fresh copy, you’ll see what other people will see.
There may be a bit more to figure out here, because you still may want to change the shared workspace-in-project settings that everyone sees, and I don’t remember exactly how you control that.
(Schemes, for example, have an explicit checkbox for this, but I’m not sure about the workspace settings. The place to start, I guess, is menu item File -> Project Settings, which is really Workspace Settings, but it doesn’t say so if the workspace is inside the project.)
|