2012-09-27 22 views
5

Ich habe vor kurzem mein XCode auf Version 4.5 aktualisiert und jetzt habe ich Probleme, wenn ich versuche, Anwendungen auf iOS 5.0/5.1 zu entwickeln.Probleme beim Ausführen von iOS 5.1 Simulator mit XCode 4.5

Ich entwickelte ein einfaches iPad-Spiel, wo der Benutzer Bilder mit den entsprechenden Wörtern übereinstimmen muss. Alle diese Elemente werden in UIImageView gespeichert, wenn dies relevant ist. Die unterstützte Schnittstellenausrichtung ist nur Landschaft.

Wenn ich meine Anwendung mit iPad 6.0 Simulator ausführen, funktioniert alles ohne Probleme. Aber wenn ich versuche, es mit 5.1 zu starten, läuft alles schief. Die Bilder erscheinen einfach nicht und mein Hintergrundbild erscheint seitwärts und wiederholt sich. Die Statusleiste erscheint ebenfalls falsch: Die Geräteausrichtung ist Querformat, aber die Seitenleiste erscheint auf der rechten Seite. Dies passiert auch nicht, wenn ich den 6.0-Simulator verwende.

In den Projektdetails habe ich bereits das iOS Deployment Target auf 5.1, sowie im Storyboard geändert. Mit dem iOS 5.1-Implementierungsziel kann ich im Storyboard nicht die Option "Auto-Layout verwenden" auswählen. Daher habe ich diese Option deaktiviert. Ist das durch diese Option verursacht?

Ich habe bereits versucht, meine Anwendung in einem Gerät auszuführen, aber das Ergebnis ist das gleiche. Seit ich XCode 4.5 installiert habe, habe ich diese Art von Problemen bekommen, da ich zum Beispiel nicht einmal eine Vorlage "Master-Detail-Anwendung" im iOS 5.x-Simulator korrekt ausführen kann, weil sie abstürzt, wenn ich auf "Hinzufügen" klicke .

Fehle ich etwas, um 5.x-Anwendungen auszuführen, die mit SDK 6 erstellt wurden? Ich habe bereits in vielen Foren gesucht, aber ich habe noch keine Lösung für dieses Problem gefunden. Ich werde froh sein, jede Art von Vorschlägen zu hören, da ich schon viel Zeit verloren habe und mir die Optionen ausgehen.

[EDIT]: Ich erinnerte mich an ein Detail, das möglicherweise für dieses Problem relevant sein kann: meine Ansicht im Storyboard ist eine benutzerdefinierte Ansicht. Ich habe eine Klasse erstellt, die von UIView ausgeht, sodass ich die Funktion drawRect überschreiben kann, um Linien zwischen meinen Objekten zu zeichnen. Dann habe ich im Storyboard in der Ansicht meine Klasse in Custom Class -> Class ausgewählt.

Mir ist aufgefallen, dass wenn ich 5.1 Simulator starte, die Statusleiste zuerst oben erscheint und dann, wenn das Fenster geladen ist, geht es nach rechts.

Wenn Sie ein anderes Detail wissen möchten, fragen Sie mich einfach.

Vielen Dank.

Antwort

2

Haben Sie Ihr Storyboard überprüft, um sicherzustellen, dass das Autolayout ausgeschaltet ist? Autolayout funktioniert nur mit iOS6. Diese Option finden Sie, wenn Sie Ihren View-Controller im Dateiinspektorbereich unter Interface Builder-Dokument anzeigen. Es ist ein Kontrollkästchen

+0

Ja, wie ich in meiner ersten Frage gesagt habe, habe ich Autolayout abgeschaltet. Wenn diese Option aktiviert ist, kann XCode das Projekt nicht einmal mit dem 5.1-Simulator ausführen. – fabioalmeida

+0

Mir ist aufgefallen, dass ich die Methode shouldAutorotateToInterfaceOrientation in meinem View-Controller überschreiben muss, um die Landschaftsausrichtung in 5.1 Simulator beizubehalten, aber meine Bilder, die ich im Storyboard definiert habe, erscheinen immer noch nicht. Muss ich etwas anderes ändern, damit es in 5.1 Simulator wie in 6.0 richtig funktioniert? – fabioalmeida

0

Scheint, Sie sind nicht die einzige Person mit Simulator 5.1 Probleme in XCode 4.5. Bug in iPhone Simulator 5.1 with Xcode 4.5 using UIManagedDocument Meine apps brach auch. 5.0 Sim scheint gut genug zu funktionieren.

+0

Mein Problem passiert sowohl in 5.0 und 5.1. Zum Beispiel kann ich nicht einmal eine Vorlage "Master-Detail-Anwendung" in einem iOS 5.x-Simulator richtig ausführen, aber es funktioniert in 6.0. – fabioalmeida

4

Englisch nicht meine Mutter ist also bitte meine Grammatik verzeihen ...

Soweit Ihr Meister-Detail Schaltfläche „Hinzufügen“ Problem, das ist was für mich gearbeitet.

Von dem, was ich sagen kann, die App abstürzt wegen:

[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]: unrecognized selector sent to instance 

Schnelle Hilfe sagt:

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath declaration is only available in iOS (6.0 and later). 

Also versuchte ich den Code in MasterViewController.m Wechsel:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; 
    [self configureCell:cell atIndexPath:indexPath]; 
    return cell; 
} 

für Code, den Xcode in älteren Versionen verwendet:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 

    } 
    [self configureCell:cell atIndexPath:indexPath]; 
    return cell; 
} 

Hoffe das hilft.

Verwandte Themen