Hallo zusammen,
ich nutze in meinen Projekten eine Run-Script--Phase, um Tags / Commit-Anzahlen aus git für die Versionsnummern meiner Bundles zu verwenden (Link). Das klappte bisher super, aber nun ist mir bei einem neuen Projekt aufgefallen, dass die info.plist im Build-Verzeichnis nach dem Script überschrieben wird ... die Versionsstrings sind also wieder auf dem Stand der Sourcen in Xcode. Diesen möchte ich aber nicht überschreiben, da ich dann immer unnötige Änderungen der info.plist in git habe.
Es liegt offensichtlich am neuen Build-System, dass eine "Process ... info.plist"-Phase nach der Run-script-Phase ausführt:
Wie löst Ihr das Problem, git-Informationen in der info.plist zu verwenden? Ich kann leider nicht auf das "legacy build system" wechseln, weil ich Marzipan verwenden möchte.
Grüße, Mattes
P.S.: Eine Lösung auf SO nutzt das Build-Scheme mit anschließendem erneuten Signing ... aber da muss doch einfacher gehen
ich nutze in meinen Projekten eine Run-Script--Phase, um Tags / Commit-Anzahlen aus git für die Versionsnummern meiner Bundles zu verwenden (Link). Das klappte bisher super, aber nun ist mir bei einem neuen Projekt aufgefallen, dass die info.plist im Build-Verzeichnis nach dem Script überschrieben wird ... die Versionsstrings sind also wieder auf dem Stand der Sourcen in Xcode. Diesen möchte ich aber nicht überschreiben, da ich dann immer unnötige Änderungen der info.plist in git habe.
Es liegt offensichtlich am neuen Build-System, dass eine "Process ... info.plist"-Phase nach der Run-script-Phase ausführt:
Die hier genannten Abhängigkeiten helfen mir aber nicht weiter, da (bei inkrementellem Build) die info.plist ja schon existiert. Nach einem Clean funktioniert es...Apple schrieb:
In the new build system, shell scripts can't rely on the state of build artifacts not listed in other build phases (for example, the Info.plist file or .dSYM files.) Add files the script build phase depends on as explicit input dependencies to the shell script build phase. (40852184)
Wie löst Ihr das Problem, git-Informationen in der info.plist zu verwenden? Ich kann leider nicht auf das "legacy build system" wechseln, weil ich Marzipan verwenden möchte.
Grüße, Mattes
P.S.: Eine Lösung auf SO nutzt das Build-Scheme mit anschließendem erneuten Signing ... aber da muss doch einfacher gehen
Diese Seite bleibt aus technischen Gründen unbedruckt.