2010-10-17 23 views
6

ich dieses Protokoll in der Konsole sehen, wenn ich meine app laufen:CALayer Position enthält NaN: [nan -0,5]

CALayer position contains NaN: [nan -0.5] 

Die App besteht aus einem UITaBar von denen das erste Register ein UINavigationController ist. In der NavController starte ich die AddressBookPicker. In der AddressBookPicker ich nur wählen, Telefonnummern anzuzeigen.

Wenn ich auf einen Kontakt wähle, der nur E-Mail-Adressen hat, dann sehe ich dieses Protokoll.

Ich sehe keine Abstürze oder Probleme, nur das Protokoll auf der Konsole gedruckt. Stellen Sie sicher, dass dies kein verstecktes Problem ist, das nach dem Start auf mich stürzt.

Unten ist ein Ausschnitt des relevanten Codes und des StackTrace. Ich bin mir nicht sicher, welche anderen Teile des Codes hier eingefügt werden sollen. Bitte lassen Sie mich wissen, wenn es welche gibt, die ich veröffentlichen kann.

Jede Hilfe/Eingaben geschätzt.

Danke!

-Code

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 

NSArray *displayedItems = [NSArray arrayWithObjects: [NSNumber numberWithInt:kABPersonPhoneProperty]), nil]; 

picker.displayedProperties = displayedItems; 

picker.peoplePickerDelegate = self; 

[self presentModalViewController:picker animated:YES]; 

Stacktrace

#0 0x00096377 in NSLog 

#1 0x046b38c9 in CALayerSetPosition 

#2 0x046b3846 in -[CALayer setPosition:] 

#3 0x046b375f in -[CALayer setFrame:] 

#4 0x002f510b in -[UIView(Geometry) setFrame:] 

#5 0x003dbe6d in -[UILabel setFrame:] 

#6 0x023ed095 in -[ABPersonTableViewDataSource reloadNoValueLabelAnimated:] 

#7 0x0244cf53 in -[ABPersonTableViewDataSource reloadDataIncludingHeaderView:invalidatePropertyData:] 

#8 0x023f30d4 in -[ABPersonTableViewDataSource reloadDataIncludingHeaderView:] 

#9 0x023eabc9 in -[ABPersonViewControllerHelper prepareViewWithDisplayedProperties:person:allowActions:] 

#10 0x023ea6bc in -[ABPersonViewControllerHelper loadViewWithDisplayedProperties:person:allowDeletion:allowActions:] 

#11 0x023ea598 in -[ABPersonViewController loadView] 

#12 0x0036a54f in -[UIViewController view] 

#13 0x003689f4 in -[UIViewController contentScrollView] 

#14 0x003787e2 in -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] 

#15 0x00376ea3 in -[UINavigationController _layoutViewController:] 

#16 0x0037812d in -[UINavigationController _startTransition:fromViewController:toViewController:] 

#17 0x00372ccd in -[UINavigationController _startDeferredTransitionIfNeeded] 

#18 0x00379d8b in -[UINavigationController pushViewController:transition:forceImmediate:] 

#19 0x00372b67 in -[UINavigationController pushViewController:animated:] 

#20 0x02403bc2 in -[ABPeoplePickerNavigationController pushViewController:animated:] 

#21 0x0242a424 in -[ABPeoplePickerNavigationController showCardForPerson:withMemberCell:animate:forceDisableEditing:personViewController:] 

#22 0x0242ce20 in -[ABMembersViewController showCardForPerson:withMemberCell:animate:] 

#23 0x0240a0ef in -[ABMembersController abDataSource:selectedPerson:atIndexPath:withMemberCell:animate:] 

#24 0x023fdb47 in -[ABMembersDataSource tableView:didSelectRowAtIndexPath:] 

#25 0x00333a48 in -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] 

#26 0x0032a32e in -[UITableView _userSelectRowAtIndexPath:] 

#27 0x0003f21a in __NSFireDelayedPerform 

#28 0x02631f73 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ 

#29 0x026335b4 in __CFRunLoopDoTimer 

#30 0x0258fdd9 in __CFRunLoopRun 

#31 0x0258f350 in CFRunLoopRunSpecific 

#32 0x0258f271 in CFRunLoopRunInMode 

#33 0x02f2f00c in GSEventRunModal 

#34 0x02f2f0d1 in GSEventRun 

#35 0x002ceaf2 in UIApplicationMain 

#36 0x00002554 in main at main.m:14 
+0

Hallo dann, haben Sie jemals die Lösung für dieses Problem gefunden? Ich bekomme die gleiche Fehlermeldung, alle mit einem anderen nan Wert (?). Irgendwelche Hinweise darauf, was es verursacht hat? – epologee

Antwort

0
  1. Ich weiß nicht.

  2. Ich sehe diese auch - ich tue etwas völlig anders als du - ich bin mit dem Route-me Mapping-Engine scrollbaren Karten anzuzeigen.

ich glaube, dass es etwas mit Scrollen Ansichten zu tun hat - und eine Schicht irgendwie im Roll beteiligt. Da einige der von Ihnen erwähnten Ansichten Scrollen sind, würde dies mit meinen Beobachtungen übereinstimmen.

Ich wünschte, ich für Sie mehr Daten hatte, aber eine Sache, die ich Ihnen sagen kann, ist, dass ich für Monate, auf der App gearbeitet und wurde es auf dem iPhone und iPad zu testen, Geräte und Simulator , unter OSeS 3.2 und 4.0 - und hatten keine Abstürze oder Speicherlecks [überhaupt, oder damit verbunden].

Also kurz gesagt - keine Ahnung - aber ich denke du bist okay!

+0

Gut zu wissen, dass es keine Probleme verursacht. Habe dafür auch keine Antwort auf die Entwickler-Community erhalten. – dagnytaggart

1

Dies scheint jetzt Abstürze in iOS 4.2 zu verursachen. Versuchen Sie, einen Kontakt ohne Telefonnummer auszuwählen. Sie sollten zu einer Ansicht wechseln, in der keine Telefonnummern angegeben sind. Der Absturz tritt auf, wenn Sie zu Alle Kontakte zurückkehren und diesen Kontakt dann erneut auswählen.

Hat noch jemand dieses Problem?

bearbeiten: In meinem Fall, zeige ich nur E-Mail-Adressen. Ein zweimaliger Kontakt ohne E-Mail-Adresse führt zum Absturz.

+0

Das gleiche Problem für mich. – Andrei

1

Ich habe das gleiche Problem, obwohl es scheint nicht in den eingebauten Apps passieren (zB Mail).

Eine leicht hackische Problemumgehung besteht darin, den Namen First and Last der Liste der angezeigten Eigenschaften hinzuzufügen - in diesem Fall wird der Layer "no email address" nicht angezeigt, aber auch nicht abgestürzt.

1

Ich hatte das gleiche Problem mit "CALayer Position enthält NaN:". Die App war in iOS3.x und iOS4.1-Geräten in Ordnung, aber in iOS4.2 abgestürzt.

In meinem Fall, ich habe den folgenden Code:

CGRect frame; 
frame.size.height = kTableCellHeight - 11; 
frame.size.width = widthCell - 30; 

UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:frame]; 

Die UILabel konnte nicht erstellt werden und dass Fehler gezeigt. In meinem Fall war es für frame.origin beliebige Werte gelöst Zugabe (für diesen UILabel Zweck, es spielte keine Rolle)

CGRect frame; 
frame.size.height = kTableCellHeight - 11; 
frame.size.width = widthCell - 30; 
frame.origin.x = 0; 
frame.origin.y = 0; 

UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:frame]; 

das Problem mit Maybe „CALayer Position enthält NaN“ ist, weil einige nil, unvollständige oder undefinierter Wert oder Struktur wird verwendet.