2012-01-12 15 views
5

Nasza aplikacja ios ulega awarii po dotknięciu UITextField z typem domyślnym. Jest jeszcze inne pole ulexxt, które jest numpad i działa poprawnie.UITextField ulega awarii po dotknięciu

Awaria występuje tylko w systemie ios 5.0.1, a ios 4.x działa poprawnie.

Utworzono UITextField z narzędziem do tworzenia interfejsów i nie dodałem do niego żadnych delegatów.

Projekt powstał w wersji 4.0.2, a także testowałem ten sam projekt w wersji 4.2.

Jeśli utworzę nowy projekt i po prostu wstawię w nim UITextField, nie ma problemu.

Jakoś coś w moim projekcie powoduje awarię UITextField i nie mam pojęcia, jak ją usunąć.

Katastrofa dziennika jest jak następuje:

(gdb) bt 
#0 0x33fa2fdc in CFRetain() 
#1 0x37991db6 in ___init_block_invoke_2() 
#2 0x36c8e7ea in _dispatch_barrier_sync_f_invoke() 
#3 0x36c8e65a in dispatch_barrier_sync_f$VARIANT$up() 
#4 0x36c8e28e in dispatch_sync_f$VARIANT$up() 
#5 0x36c8e910 in dispatch_sync$VARIANT$up() 
#6 0x36c90576 in dispatch_once_f$VARIANT$up() 
#7 0x37992706 in CPLoggingAddCustomLogFile() 
#8 0x306ee658 in __MCLoggingInitialize_block_invoke_1() 
#9 0x36c90576 in dispatch_once_f$VARIANT$up() 
#10 0x306ee6a4 in MCLoggingInitialize() 
#11 0x306ef060 in -[MCProfileConnection _init]() 
#12 0x306ef764 in +[MCProfileConnection sharedConnection]() 
#13 0x31758cce in _FTAreIDsEquivalent() 
#14 0x31758a46 in _FTAreIDsEquivalent() 
#15 0x317589c8 in _FTAreIDsEquivalent() 
#16 0x36c90576 in dispatch_once_f$VARIANT$up() 
#17 0x31758976 in _FTAreIDsEquivalent() 
#18 0x35026378 in GCC_except_table11() 
#19 0x3504571c in _NSStringDescriptionForIMAVChatParticipantState() 
#20 0x350456a8 in _NSStringDescriptionForIMAVChatParticipantState() 
#21 0x36c90576 in dispatch_once_f$VARIANT$up() 
#22 0x35045656 in _NSStringDescriptionForIMAVChatParticipantState() 
#23 0x377931e2 in -[UIDictationController init]() 
#24 0x37793350 in +[UIDictationController sharedInstance]() 
#25 0x37793590 in +[UIDictationController fetchCurrentInputModeSupportsDictation]() 
#26 0x376b21d0 in -[UIKeyboardLayoutStar shouldShowDictationKey]() 
#27 0x374f4138 in -[UIKeyboardLayoutStar updateMoreAndInternationalKeys]() 
#28 0x374f206e in -[UIKeyboardLayoutStar setKeyplaneName:]() 
#29 0x374f0e62 in -[UIKeyboardLayoutStar showKeyboardType:appearance:orientation:withShift:]() 
#30 0x37481bc4 in -[UIKeyboardImpl updateLayout]() 
#31 0x37425f6a in -[UIKeyboardImpl setDelegate:force:]() 
#32 0x37407f22 in -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:]() 
#33 0x37407c6e in -[UIResponder(UIResponderInputViewAdditions) reloadInputViews]() 
#34 0x374077aa in -[UIResponder becomeFirstResponder]() 
#35 0x37505d76 in -[UITextInteractionAssistant setFirstResponderIfNecessary]() 
#36 0x37505640 in -[UITextInteractionAssistant oneFingerTap:]() 
#37 0x37504f06 in _UIGestureRecognizerSendActions() 
#38 0x37496c1c in -[UIGestureRecognizer _updateGestureWithEvent:]() 
#39 0x376c2508 in ___UIGestureRecognizerUpdate_block_invoke_0541() 
#40 0x37411d68 in _UIGestureRecognizerApplyBlocksToArray() 
#41 0x374108b6 in _UIGestureRecognizerUpdate() 
#42 0x3741d3cc in _UIGestureRecognizerUpdateGesturesFromSendEvent() 
#43 0x3741d20e in -[UIWindow _sendGesturesForEvent:]() 
#44 0x3741cddc in -[UIWindow sendEvent:]() 
#45 0x374034ec in -[UIApplication sendEvent:]() 
#46 0x37402d2c in _UIApplicationHandleEvent() 
#47 0x30835df2 in PurpleEventCallback() 
#48 0x3402e552 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__() 
#49 0x3402e4f4 in __CFRunLoopDoSource1() 
#50 0x3402d342 in __CFRunLoopRun() 
#51 0x33fb04dc in CFRunLoopRunSpecific() 
#52 0x33fb03a4 in CFRunLoopRunInMode() 
#53 0x30834fcc in GSEventRunModal() 
#54 0x37431742 in UIApplicationMain() 
#55 0x00002462 in main (argc=1, argv=0x2fdffb04) at /Users/xxxx/Desktop/ios5/ 
+0

Jaki to wyjątek lub błąd? –

+0

trochę więcej byłoby miło, jak tworzysz pole, może jakiś kod dla metod delegatów, szczególnie wszystko, co ma blokujący kod GCD ... –

+0

Czy robisz coś specyficznego dla ARC na dotyk lub na innych powiązanych metodach delegatów ? – Ali

Odpowiedz

1

Zmiana "Nazwa produktu"

Miałem dokładnie ten sam problem. Rozwiązałem go, zmieniając właściwość "Nazwa produktu" na ustawieniach kompilacji celu. Wygląda na to, że mają znaki spoza USA, znaki specjalne, takie jak "ü, ğ, ç" itp. Maskują twoją aplikację.

Nie mam absolutnie pojęcia, dlaczego stwarza to problem. Jednak zmiana nazwy produktu na "Ocu" zamiast "Öcü" naprawia to.

Znalazłem o tej informacji w odpowiedzi na inne pytanie i here is the link.

0

Upewnij się, że interfejs konstruktora UITextField nie ma żadnych aktualnych rynków zbytu. Często zdarza się, że powielamy istniejące UITextFields i nie zdajemy sobie sprawy, że były one wcześniej powiązane z innymi sklepami lub zawierały odniesienia do rzeczy, których już nie ma.

+0

Problem istnieje, nawet jeśli utworzę nowe pole uitext w tym samym projekcie przez program budujący interfejs lub z kodem. – intacto

Powiązane problemy