Xcode 14.2 kann keinen Code erzeugen für den Rechner auf dem es läuft?

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

  • Xcode 14.2 kann keinen Code erzeugen für den Rechner auf dem es läuft?

    Also früher war ich es gewohnt, dass man mit Xcode einige Versionen rückwärts kompatible Programme bauen kann.

    Jetzt hatte ich ein paar Tage gesucht warum sich ein Projekt nicht mehr korrekt bauen und laden lässt, bis mir aufgefallen ist, dass ich Xcode 14.2 verwende. Wahrscheinlich neulich unbedacht als Update aus dem AppStore eingespielt. Meine Rechner haben aber alle noch Monterey 12.7. Weil damit bei einem von ihnen Ende der Fahnenstange ist.

    Nun gibt es im Xcode 14.2 nur ein SDK 13.1 so dass der Code den ich auf Monterey erzeugen kann nicht mehr auf Monterey läuft.

    Habt Ihr das auch festgestellt? Was ist die Lösung? Wieder Xcode 14.0 installieren? Oder kann man ältere SDKs dazu installieren?
  • Jetzt bin ich maximal verwirrt: Ich habe nie auf alten SDKs entwickelt, sondern immer mit dem des aktuellen Xcode. Allerdings ist natürlich das (minimale) Deployment Target zwecks Abwärtskompatibilität anzugeben und Du darfst keine APIs verwenden, die erst später eingeführt wurden. Im Zweifelsfalls stehen dann entsprechende if (@available(...)) im Code oder man muss sich auf den kleinsten gemeinsamen Nenner beschränken.

    Oder habe ich Deinen Punkt missverstanden?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()

  • MyMattes schrieb:

    Jetzt bin ich maximal verwirrt: Ich habe nie auf alten SDKs entwickelt, sondern immer mit dem des aktuellen Xcode. Allerdings ist natürlich das (minimale) Deployment Target zwecks Abwärtskompatibilität anzugeben und Du darfst keine APIs verwenden, die erst später eingeführt wurden. Im Zweifelsfalls stehen dann entsprechende if (@available(...)) im Code oder man muss sich auf den kleinsten gemeinsamen Nenner beschränken.

    Oder habe ich Deinen Punkt missverstanden?

    Mattes

    Tolibi schrieb:

    Ich habe Xcode 15.0 und kann mein Deployment Target bis zu 10.13 runter setzen.
    Mir hat Xcode das Target aber mal automatisch auf "Recommended Target" hoch gesetzt, das war dann auch 13 oder so. Musste da mehrere Stellen finden um das wieder zurückzusetzen.

    Ja, früher ging genau das bei mir auch.
    Ich kann aber bei Xcode 14.2 nur macOS 13.0 als SDK einstellen und das ist lt. Release Notes nicht mehr voll Monterey-kompatibel: developer.apple.com/documentat…/xcode-14_2-release-notes wie Xcode 14.0.1: developer.apple.com/documentat…code-14_0_1-release-notes. Jedenfalls zickt es herum. Selbst wenn ich Deployment Target auf 10.9 stelle.
    Das Hauptproblem ist dass ich im Interface ein Objekt mit einer eigenen Klasse eingerichtet habe. Diese Klasse wird nicht mehr gefunden und folglich das Objekt nicht geladen. Runtime-Fehler

    Quellcode

    1. [b]2023-10-09 13:53:33.950177+0200 MyApp[44610:35404331] [Nib Loading] Unknown class Controller in Interface Builder file at path /Users/hns/Library/Developer/Xcode/DerivedData/MyApp-hgqmracyqnzialbvyilzgwrlsgjz/Build/Products/Debug/MyApp/Contents/Resources/Base.lproj/Document.nib.[/b]
  • So jetzt hatte ich Xcode 14.0 nochmal installiert und das SDK im Projekt zurückgedreht, sowie das Deployment Target auf 10.9. Das ließ sich übersetzen und lief.
    Und auch als ich das Projekt dann wieder mit Xcode 14.2 geöffnet habe. Nachdem ich das Deployment Target auf 10.13 vorgedreht habe.
    Dann war auch die seltsame Meldung weg.

    Anscheinend hatte sich da irgendwas verhakt.

    Xocde ist ja derartig komplex, dass man sich manchmal wundert dass es doch meist so reibungslos funktioniert :)

    Danke fürs Mitdenken helfen!