Xcode 8.1 выпускает сбой приложения libobjc.A.dylib objc_msgSend

APP в Xcode8.1, установленный непосредственно на телефоне, для запуска на всех версиях нет никаких проблем, отправлено .ipa на установленные сторонние платформы, в iOS9.3 следующее не имеет никаких проблем, но когда я отправил в AppStore и testfight установлен на телефон в iOS9.3 Следующая версия будет воспоминанием об исключении, любой из них столкнулся с той же проблемой Да, решение, я не сталкивался с использованием опубликованной Xcode7 этой проблемы.

Может ли кто-нибудь посоветовать, как я могу отследить это?

Я получаю сбой, показанный ниже в Crashlytics.

0 libobjc.A.dylib   objc_msgSend + 28
1 libobjc.A.dylib   (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 508
2 FrontBoardServices    -[FBSSerialQueue _performNext] + 192
3 FrontBoardServices    -[FBSSerialQueue _performNextFromRunLoopSource] + 56
4 CoreFoundation    ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
5 CoreFoundation    ___CFRunLoopDoSources0 + 540
6 CoreFoundation    ___CFRunLoopRun + 724
7 CoreFoundation    CFRunLoopRunSpecific + 384
8 UIKit -[UIApplication _run] + 460
9 UIKit UIApplicationMain + 204
10 huxijia  main (main.m:14)
11 libdyld.dylib    _start + 4



0   libobjc.A.dylib
objc_msgSend + 28
1   CoreFoundation
CFEqual + 340
2   CoreFoundation
___NSCacheKeyEqual + 12
3   libcache.dylib
__entry_get_optionally_checking_collisions + 164
4   libcache.dylib
cache_get_and_retain + 132
5   CoreFoundation
-[NSCache objectForKey:] + 68
6   CoreUI
-[CUIStructuredThemeStore _canGetRenditionWithKey:isFPO:lookForSubstitutions:] + 360
7   CoreUI
-[CUICatalog _resolvedRenditionKeyFromThemeRef:withBaseKey:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:] + 1416
8   CoreUI
-[CUICatalog namedLookupWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 148
9   UIKit
___98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 424
10  UIKit
-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 212
11  UIKit
-[_UIAssetManager imageNamed:withTrait:] + 528
12  UIKit
__UIImageWithNameAndTraitCollection + 96
13  UIKit
+[UIImage(UIImagePrivate) _kitImageNamed:withTrait:] + 36
14  UIKit
_CreateScrollIndicator + 260
15  UIKit
-[UIScrollView _adjustScrollerIndicators:alwaysShowingThem:] + 200
16  UIKit
-[UIScrollView setContentOffset:] + 524
17  UIKit
-[UITableView setContentOffset:] + 300
18  UIKit
-[UIPickerTableView _setContentOffset:notify:] + 100
19  UIKit
-[UIScrollView(UIScrollViewInternal) _adjustContentOffsetIfNecessary] + 60


0   libobjc.A.dylib
objc_msgSend + 28
1   libcache.dylib
__entry_get_optionally_checking_collisions + 52
2   libcache.dylib
__entry_table_resize + 308
3   libcache.dylib
cache_set_and_retain + 852
4   CoreFoundation
-[NSCache setObject:forKey:cost:] + 268
5   CoreUI
-[CUIStructuredThemeStore _canGetRenditionWithKey:isFPO:lookForSubstitutions:] + 860
6   CoreUI
-[CUICatalog _resolvedRenditionKeyFromThemeRef:withBaseKey:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:memoryClass:graphicsClass:graphicsFallBackOrder:] + 924
7   CoreUI
-[CUICatalog namedLookupWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 148
8   UIKit
___98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 424
9   UIKit
-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 260
10  UIKit
-[UIImageAsset imageWithTraitCollection:] + 404
11  UIKit
-[UIImageView _resolveImageForTrait:] + 460
12  UIKit
-[UIImageView _didMoveFromWindow:toWindow:] + 212
13  UIKit
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 760
14  UIKit
-[UIActivityIndicatorView _didMoveFromWindow:toWindow:] + 196
15  UIKit
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 760
16  UIKit
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 760
17  UIKit
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 760
18  UIKit
___45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 152
19  UIKit
-[UIView(Hierarchy) _postMovedFromSuperview:] + 504

person solon    schedule 14.12.2016    source источник


Ответы (1)


Сбои во время выполнения ObjC и/или операции автовыпуска почти всегда являются оборванным указателем.

Я очень сомневаюсь, что это связано с окружающей средой. Скорее, это просто путь кода/пограничный случай, который вы не видите во время обычной разработки. Я бы начал с NSZombies, которые могут быть очень полезными.

Я бы также рекомендовал просмотреть ваши сбои Crashlytics на предмет странных нераспознанных сбоев селектора или других вещей в коде времени выполнения. Все они потенциально могут быть связаны с одной и той же основной причиной.

person Mattie    schedule 16.12.2016