Hinzufügen von Xcode-Arbeitsbereichsschemata zur Versionskontrolle

114

Ich möchte Arbeitsbereichsschemata, die ich erstellt habe, mit den anderen Teammitgliedern teilen. Sie werden jedoch alle unter .xcodeproj> xcuserdata> .xcuserdatad> xcschemes gespeichert. Ich habe festgelegt, dass xcuserdata-Ordner in SVN ignoriert werden sollen, da ich davon ausgegangen bin, dass alle Daten in diesem Ordner benutzerspezifisch sind.

Gibt es einen Weg, dies zu umgehen? dh ich möchte nicht, dass die Schemata benutzerspezifisch sind. Oder sollte ich den Ordner xcschemes trotzdem einchecken? Und wenn ich das tue, können die anderen Benutzer meine Schemata sehen und verwenden?

Nikolozi
quelle

Antworten:

197

Wählen Sie im Steuerelement "Schemata" die Option "Schemata verwalten". Aktivieren Sie "Freigegeben" neben allen Schemata, die Sie freigeben möchten. Die Schemata werden in einen Ordner namens "xcshareddata" verschoben.

Update: Dies funktioniert genauso für Xcode 4-8.

Joshua Nozzi
quelle
3
Ich kann nicht erkennen, warum die Standardeinstellung nicht freigegeben ist. Ich frage mich, was mir fehlt. Ist dies nur ein seltsamer Standard oder gibt es einen guten Grund, warum ein Schema im Allgemeinen nicht geteilt wird?
Benjohn
Dies funktioniert, aber leider wird ein absoluter Pfad in die .xcscheme-Datei eingebettet, wenn die ausführbare Datei auf etwas anderes als "Keine" gesetzt ist. Die manuelle Bearbeitung des Pfads in XML zu einem relativen Pfad führt zu einem Absturz in XCode. Obwohl es "Shared" ist, enthält es benutzerspezifische Daten.
Bluebadge
@bluebadge Ich sehe das Verhalten, das Sie im Xcode 7.0 GM erwähnen, nicht. Ich habe nur meine eigenen Anweisungen befolgt und die .xcscheme-Datei enthält keine Pfade. nur "container: MyProjectName.xcodeproj". Verwenden Sie Xcode 7? Verwenden Sie einen Arbeitsbereich? Welcher "Container" ist für das Schema im Blatt "Schemata verwalten" ausgewählt? Weitere Informationen werden benötigt.
Joshua Nozzi
Arbeitete für mich in XCode 9
Marchinram
4

Sie müssen in die Ansicht "Schemata verwalten" gehen und das Kontrollkästchen "Freigegeben" aktivieren (Menü "Produkt" -> Schema -> Schemata verwalten ...).

Als nächstes müssen Sie 'xcshareddata / xcschemes' aus Ihrer Ignorierdatei entfernen und zum Repo hinzufügen (oder einfach 'git add -f MyProject.xcodeproj / xcshareddata / xcschemes' verwenden).

Nathanwhy
quelle