CFBundleShortVersionString aus GIT --describe - wird nur aktualisiert wenn ich die info.plist Datei speichere

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • CFBundleShortVersionString aus GIT --describe - wird nur aktualisiert wenn ich die info.plist Datei speichere

    Guten Morgen zusammen,

    ich habe in einer App von mir den CFBundleShortVersionString mithilfe des plist preprocessors auf die GIT $git describe --tags gesetzt.
    Das ganze funktioniert auch wie erwartet, jedoch wird CFBundleShortVersionString NUR gesetzt/neu geschrieben, wenn ich die info.plist Datei des Projektes einmal speichere.
    Kann mir das Ganze aber nicht erklären, denn so wie ich das verstanden habe wird der preprocessor ja immer ausgeführt.

    Konfiguriert habe ich das ganze nach dieser Anleitung:

    cimgf.com/2011/02/20/revisiting-git-tags-and-building/



    Hat jemand von euch dieses Problem auch schonmal gehabt? Oder evtl. eine Idee, woran es liegen könnte?


    Beste Grüße
    Dennis
    "Die Steinzeit ging auch nicht zu Ende weil die Steine ausgingen"
  • macmoonshine schrieb:

    Michael schrieb:

    Könnte mir vorstellen, dass Du entweder das touch Info.plist vergessen hast oder dieser Teil nicht funktioniert.

    Meines Wissens überprüft Git wie auch SVN die Dateiänderungen mittels Checksumme o. Ä. an Ihrem Inhalt. Da wird ein Touch nicht viel helfen...

    So wie ich das verstehe ist Git oder SVN nicht das Problem, sondern das Preprozessing der Info.plist und das macht Xcode. Xcode compiliert ja nur geänderte Dateien neu und wird das auch mit dem Preprozessing von Info.plist so handhaben. Durch das "touchen" soll die Info.plist dann als geändert markiert werden. Das funktioniert hier offensichtlich nicht, denn wenn Dennis die Info.plist einmal speichert (also touch Info.plist sozusagen manuell durchführt), geht es ja.

    Michael
  • @ Michael,

    jupp, genau so ist es. Weiß jemand wo Xcode den Hash für die zuletzt compilierten Dateien ablegt? Evtl. kann man da ansetzen. Oder gibt es in den Buildsettings einen Flag, der diese Prüfung für bestimmte Dateien überspringt?

    Grüße
    Dennis
    "Die Steinzeit ging auch nicht zu Ende weil die Steine ausgingen"
  • narv... habs!


    @Michael: Du lagst richtig! Ich habe auch einen manuellen Touch auf die vorher vom preprocess erstelle info.plist Datei gemacht, was natürlich nix brachte. Die Richtige war noch in einem Unterverzeichnis. Dieses in dem Skript angegeben und nun funktioniert es sauber.

    Dummes Ding! ;)
    "Die Steinzeit ging auch nicht zu Ende weil die Steine ausgingen"