Xcode 4.2 Warnungen beim Löschen des Nav Controllers in der Tableiste in IB

26

Ich entwickle eine App, die mit iOS 4 kompatibel ist, daher ist mein Implementierungsziel auf iOS 4.0 eingestellt.

Immer, wenn ich ein UINavigationController auf ein UITabBar setze, bekomme ich diese zwei Warnungen:

  1. warning: Attribute Unavailable: Defines Presentation Context is not available prior to Xcode 4.2.
  2. warning: Attribute Unavailable: Defines Presentation Context on iOS versions prior to 5.0.

Der UINavigationController funktioniert wie erwartet, tatsächlich läuft die gesamte App perfekt. Aber diese zwei Warnungen machen mich verrückt!

Auch wenn ich die UINavigationController lösche verschwinden die Warnungen.

    
user975284 02.10.2011, 10:05
quelle

4 Antworten

69

Deaktivieren Sie einfach das Kontrollkästchen "Defines Context" im Attributinspektor. (Doppelklicken Sie auf MainWindow.xib, wählen Sie den Navigations-Controller, dann gehen Sie zu View- & gt; Dienstprogramme- & gt; Attribute Inspector.) Das wird die Warnungen loswerden.

    
jkira 16.10.2011 05:57
quelle
9

Sie erhalten diese Warnungen, weil Sie iOS 5.0 SDK-Funktionen mit einem 4.x-Bereitstellungsziel verwenden.

Alle, wenn nicht, die meisten der neuen 5.0 Hotness, einschließlich ARC und Storyboards, ist vollständig abwärtskompatibel mit iOS 4.x (ich erinnere mich nicht, ob 4.0 oder 4.3 die niedrigste unterstützte Version ist, überprüfen Sie die Dokumente), es wird wie vorgesehen funktionieren, aber Xcode wird Sie sowieso warnen.

Sie sollten diese Warnung deaktivieren können, wenn es Sie wirklich stört, aber ich würde nicht. Das heißt, Apple akzeptiert derzeit keine Anwendungen, die mit der Xcode 4.2-Beta erstellt / archiviert wurden, um sie an den App Store zu senden. Das bedeutet, dass Sie Xcode 4.0 / 4.1 in einer Produktionsumgebung verwenden müssen.

Bevor wir weiter gehen, sollten Sie wissen, dass Xcode 4.2 / iOS 5 eine Beta-Software ist, die unter NDA steht (Sie waren damit einverstanden, als Sie dem Apple-Entwicklerprogramm beitraten) und kann nicht in der Öffentlichkeit diskutiert werden. Dies bedeutet, dass Sie nicht in der Lage sein werden, viel Hilfe von öffentlichen Stellen wie StackOverflow zu bekommen, so gut es geht. Aber , da ich hier bin und das ist eine sehr hohe Frage, ich kann helfen :)

Wenn Sie in Zukunft Fragen oder Probleme mit iOS-Beta haben, sollten Sie die Apple Developer Beta-Foren (eine ausgezeichnete Ressource, suche immer, bevor du poste), oder #iphonedev auf irc.freenode.net für Nicht-Beta-Sachen (Ich werde da sein, sag Hallo!)

Wenn Sie eine Anwendung für die Veröffentlichung im App Store entwickeln:

Sie müssen mit Xcode 4.0 oder 4.1 entwickeln, Apple akzeptiert keine Anwendungen, die mit 4.2 erstellt / archiviert wurden. (Ich weiß, ich habe mich wiederholt, aber die Leute scheinen das oft zu verpassen)

Und obwohl 4.2b7 die Entwicklung für ältere Frameworks besser als frühere Xcode-Betas unterstützt (indem Sie frühere Versionen des Simulators installieren können), werden Sie immer noch feststellen, dass Sie versehentlich 5.0 SDK-Funktionen überall verwenden, wie der Code Komplettierung / Interface-Builder bevorzugt sehr aggressiv die gesamte neue Schärfe. Dies liegt daran, dass die Betaversion zum Testen neuer Dinge und nicht für eine stabile Anwendungsentwicklung gedacht ist.

Dies bedeutet, dass Sie zur Produktion Xcode 4.0 / 4.1 verwenden müssen, wenn Sie es nicht installiert haben, oder Sie haben die stabile Version mit der Beta überschrieben, versuchen Sie nicht, 4.0 / 4.1 zu installieren oben auf der 4.2 beta , werden seltsame Dinge passieren und beide Versionen werden sich wirklich merkwürdig verhalten und Xcode wird mindestens doppelt so oft abstürzen.

In dieser Situation sollten Sie die folgenden Schritte befolgen. Stellen Sie sicher, dass Sie nichts überspringen, sonst müssen Sie den gesamten Prozess neu starten.

  1. Stellen Sie sicher, dass Ihr Code festgeschrieben und hochgesetzt wurde. Durch die Deinstallation von Xcode wird vorübergehend Git entfernt. (Dies war ein Ausgabe für mich bei der Arbeit einmal)

  2. Laden Sie die Installationsprogramme für Xcode 4.0 / .1 und 4.2 herunter, wenn Sie weiter experimentieren möchten. (wenn Sie schon Haben beide heruntergeladen, dauert dieser ganze Prozess nicht mehr als 5 Minuten auf einer SSD)

  3. Deinstallieren Sie die Xcode-Beta von der Befehlszeile mit diesem Befehl:
    sudo <Xcode>/Library/uninstall-devtools --mode=all ( mehr Infos hier )

  4. Starten Sie Ihren Computer neu (das ist wichtig, überspringen Sie es nicht !!!)

  5. Installieren Sie die neueste Nicht-Beta-Version von Xcode und nehmen Sie die Entwicklung wieder auf.

Wenn Sie beide Versionen von Xcode (4.0 / 4.1 und 4.2) verwenden möchten:

Sie müssen die Betaversion von AFTER 4.0 / 4.1 installieren installieren, sonst werden Sie neue Dinge mit alten Dingen überschreiben, und dies wird Ihnen viele, viele obskure Kopfschmerzen bereiten. Ich empfehle auch, zwischen den Installationen neu zu starten.

Sie müssen 4.2 nach 4.0 / 4.1 und in einen anderen Ordner installieren (ich benutze / Xcode4beta /, nicht in den Ordner, der 4.0 / 4.1 enthält). Ich habe herausgefunden, dass ich am besten über die neue Hitze lerne, wenn ich separate iOS5-Zweige meiner Arbeit behalte und aktualisiere, was ich kann, wenn ich etwas Freizeit habe.

Wenn Sie die iOS5-Betaversion auf Ihrem Telefon installiert haben und Xcode 4.0 / 4.1 das Erstellen auf Ihrem Telefon nicht zulässt:

Dies liegt daran, dass Xcode die Debug-Symbole vom Telefon abgreifen muss, bevor es für die Entwicklung verwendet werden kann, aber nur die Xcode-Beta kann dies für ein iOS5-Beta-Gerät tun, also folge diesen Schritten:

  1. Vergewissern Sie sich, dass das Telefon angeschlossen und eingeschaltet ist und dass alle Bereitstellungsprofile / Zertifikate auschecken.

  2. Schließen Sie das Projekt in Xcode 4.0 / 4.1.

  3. Öffnen Sie das Projekt in Xcode 4.2 und überprüfen Sie den Organisator. Sie sollten entweder bereits einen grünen Punkt neben Ihrem Telefon haben (vorausgesetzt, dass Ihre gesamte Bereitstellung funktioniert) oder die Debug-Symbole sammeln. Lass das fertig und baue dann dein Projekt.Es muss kein erfolgreicher Build sein, noch muss man die Anwendung auf dem Telefon installieren, manchmal muss man nicht einmal bauen, Xcode kann eine launische Geliebte sein.

  4. Schließen Sie das Projekt in Xcode 4.2.

  5. Öffnen Sie das Projekt in Xcode 4.0, Sie sollten nun in der Lage sein, Ihr Telefon wie gewohnt zu erstellen und zu installieren.

  6. Xcode 4.0 / 4.1 sollte jetzt in der Lage sein, Ihr Gerät für die Entwicklung zu verwenden, bis Sie den Computer neu starten.

Sneakyness 02.10.2011 11:37
quelle
6

Auflösung ist hier:

How kann ich beheben "Freiformgröße simulierte Metriken sind nicht verfügbar vor Xcode 4.2" Warnungen?

Sie müssen nur die Entwicklungsversion Ihrer XIB-Datei in Xcode 4.2 ändern (Standard ist Xcode 4.1)

    
Ell Neal 28.11.2011 07:26
quelle
1

Controller anzeigen und Navigationscontroller Einstellung oder Optionsname (Attribute Inspektor)

Kontext definieren (markiert) deaktiviert.

    
alpc 10.01.2013 09:04
quelle

Tags und Links