Ich habe gerade xcode auf Version 4.0 aktualisiert. Viele der Frameworks in meiner App sind jetzt rot hervorgehoben, sie scheinen zu fehlen. z.B. MapKit.framework
Ist 4.0 nicht abwärtskompatibel mit 3.1.3?
Grüß Gott, Stephen
Ich habe gerade xcode auf Version 4.0 aktualisiert. Viele der Frameworks in meiner App sind jetzt rot hervorgehoben, sie scheinen zu fehlen. z.B. MapKit.framework
Ist 4.0 nicht abwärtskompatibel mit 3.1.3?
Grüß Gott, Stephen
Wenn Ihr Projekt mit 3.1.3 gut funktioniert, dann tun Sie Folgendes: 1. Wählen Sie im linken Bereich von XCode den Namen Ihres Projekts, klicken Sie mit der rechten Maustaste (Kontrollklick) und wählen Sie "Get Info". 2. Ändern Sie auf der Registerkarte "Build" das Basis-SDK auf iPhone Device 4.0 (Ihr zuletzt heruntergeladenes SDK). 3. Wiederholen Sie die obigen Schritte auch nach Auswahl des Menüs "Projekt" -> Aktives Ziel bearbeiten.
Schließen Sie dann Ihr XCode und starten Sie XCode neu. Alle Ihre Frameworks werden nun verfügbar sein.
Allerdings wird diese Änderung (allein) verhindern, dass Ihre App auf einem 3.1.x-Gerät geladen werden kann. Das liegt daran, dass die neue Einstellung "iOS Deployment Target" (eingeführt mit dem 4.x SDK) standardmäßig auf denselben Wert wie das Basis-SDK gesetzt wird, das Sie gerade eingestellt haben. Sie müssen diese neue Einstellung (in der Gruppe "Deployment") auf das früheste iOS-Gerät ändern, das Ihre App unterstützen wird.
Jetzt läuft Ihre App auf jedem Gerät, auf dem diese Version oder eine neuere von iOS läuft. Aber es gibt eine neue Schwierigkeit. Wenn Sie Ihrem Projekt Code hinzufügen, der Klassen oder Methoden verwendet, die in der Version 4.x eingeführt wurden, erhalten Sie im Simulator keine Warnung, dennoch stürzt die App ab, wenn sie von Ihrem 3.x-Gerät aufgerufen wird. Sie müssen solche Aufrufe mit Code verpacken, der die Laufzeitversion des Geräts testet, und die Aufrufe nur ausführen, wenn die Laufzeitversion diese Aufrufe unterstützt.
All dies wird hier im Detail erläutert: Installiere xCode 3.2.3 mit iPhone SDK 4, erhalte "Base SDK fehlt", kann andere SDKs nicht sehen die Links zu Diskussionen darüber enthält, wie diese Laufzeitprüfungen am besten zu kodieren sind.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.