
但更常见的是它会在主要时崩溃:
* thread #1: tID = 0x11d655,0x35deaf56 libobjc.A.dylib`objc_msgSend + 22,queue = 'com.apple.main-thread',stop reason = EXC_BAD_ACCESS (code=1,address=0xf632d5c1)frame #0: 0x35deaf56 libobjc.A.dylib`objc_msgSend + 22frame #1: 0x2db167ea CoreUI`-[CUInamedImage initWithname:usingRenditionKey:fromtheme:] + 98frame #2: 0x2db21d48 CoreUI`-[CUICatalog imageWithname:scaleFactor:deviceidiom:deviceSubtype:sizeClassHorizontal:sizeClassvertical:] + 128frame #3: 0x2b8aee98 UIKit`__98-[_UIAssetManager imagenamed:scale:idiom:subtype:cachingOptions:sizeClasspair:attachCatalogImage:]_block_invoke + 240frame #4: 0x2b8aecea UIKit`-[_UIAssetManager imagenamed:scale:idiom:subtype:cachingOptions:sizeClasspair:attachCatalogImage:] + 230frame #5: 0x2b95df86 UIKit`-[UIImageAsset imageWithTraitCollection:] + 474frame #6: 0x2b58d9d2 UIKit`-[UIImageVIEw _resolveImageForTrait:] + 286frame #7: 0x2b58d690 UIKit`-[UIImageVIEw _dIDMoveFromWindow:toWindow:] + 156frame #8: 0x2b28aef4 UIKit`-[UIVIEw(Internal) _dIDMoveFromWindow:toWindow:] + 656frame #9: 0x2b300d50 UIKit`-[UIControl _dIDMoveFromWindow:toWindow:] + 44frame #10: 0x2b28aef4 UIKit`-[UIVIEw(Internal) _dIDMoveFromWindow:toWindow:] + 656frame #11: 0x2b28aef4 UIKit`-[UIVIEw(Internal) _dIDMoveFromWindow:toWindow:] + 656frame #12: 0x2b28aef4 UIKit`-[UIVIEw(Internal) _dIDMoveFromWindow:toWindow:] + 656frame #13: 0x2b28a804 UIKit`__45-[UIVIEw(HIErarchy) _postMovedFromSupervIEw:]_block_invoke + 112frame #14: 0x2b28a720 UIKit`-[UIVIEw(HIErarchy) _postMovedFromSupervIEw:] + 428frame #15: 0x2b294bce UIKit`-[UIVIEw(Internal) _addSubvIEw:@R_502_4612@ed:relativeTo:] + 1462frame #16: 0x2b29460e UIKit`-[UIVIEw(HIErarchy) addSubvIEw:] + 30frame #17: 0x2b459eae UIKit`__53-[_UINavigationParallaxTransition animateTransition:]_block_invoke + 1262frame #18: 0x2b29ada4 UIKit`+[UIVIEw(Animation) performWithoutAnimation:] + 72frame #19: 0x2b45977c UIKit`-[_UINavigationParallaxTransition animateTransition:] + 812frame #20: 0x2b417cfc UIKit`-[UINavigationController _startCustomTransition:] + 2860frame #21: 0x2b337026 UIKit`-[UINavigationController _startDeferredTransitionIfNeeded:] + 422frame #22: 0x2b336e2c UIKit`-[UINavigationController __vIEwWillLayoutSubvIEws] + 44frame #23: 0x2b336dc0 UIKit`-[UILayoutContainerVIEw layoutSubvIEws] + 184frame #24: 0x2b28b7fe UIKit`-[UIVIEw(CALayerDelegate) layoutSublayersOfLayer:] + 514frame #25: 0x2acb1834 QuartzCore`-[CALayer layoutSublayers] + 136frame #26: 0x2acad20c QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 360frame #27: 0x2acad094 QuartzCore`CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 16frame #28: 0x2acaca70 QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 224frame #29: 0x2acac874 QuartzCore`CA::Transaction::commit() + 324frame #30: 0x2aca674c QuartzCore`CA::Transaction::observer_callback(__CFRunLoopObserver*,unsigned long,voID*) + 56frame #31: 0x27d37ffc CoreFoundation`__CFRUNLOOP_IS_CALliNG_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20frame #32: 0x27d356ba CoreFoundation`__CFRunLoopDoObservers + 278frame #33: 0x27d35ac2 CoreFoundation`__CFRunLoopRun + 914frame #34: 0x27c833b0 CoreFoundation`CFRunLoopRunspecific + 476frame #35: 0x27c831c2 CoreFoundation`CFRunLoopRunInMode + 106frame #36: 0x2f1f2200 GraphiCSServices`GSEventRunModal + 136frame #37: 0x2b2ed43c UIKit`UIApplicationMain + 1440* frame #38: 0x0017bf62 Dev`main(argc=1,argv=0x01549a28) + 106 at main.m:14frame #39: 0x3636aaae libdyld.dylib`start + 2
我已经启用了NSZombIEs,但我没有获得任何新信息.我也尝试打开地址消毒剂,它也会偶尔崩溃,但通常也会在主要方法:
thread #1: tID = 0x11d992,0x020fce9e libclang_rt.asan_ios_dynamic.dylib`__asan::AsanDIE(),stop reason = Attempt to free a non-allocated address{"access_size" : 0,"access_type" : 0,"address" : 103442256,"description" : "Attempt to free a non-allocated address","instrumentation_class" : "AddressSanitizer","pc" : 0,"stop_type" : "fatal_error"} 再次,当从Xcode 7或Xcode 8为iOS 9或10构建时,应用程序工作正常.这只发生在从iOS 8的Xcode 8构建时.任何想法?
解决方法 团队中的其他人找到了答案.虚假.https://forums.developer.apple.com/thread/60919
总结With Xcode 8 GM,this error will occur if you include 16-bit or P3
Create an Inspectable .ipa file. In the Xcode Organizer (Xcode->Window->Organizer),select an archive to inspect,click
assets in an app submission targeting iOS releases earlIEr then iOS
9.3. If your app requires wIDe color functionality you must change your Deployment Target to iOS 9.3 or later. If your app does not
require wIDe color functionality and you wish to deploy it to older
iOS versions then you should replace all 16-bit or P3 assets with
8-bit sRGB assets. You can find 16-bit or P3 assets by running
“assetutil” on the asset catalog named in the error message from
iTunes Connect. The following steps outline the process:
“Export…”,and choose “Export for Enterprise or Ad-Hoc Deployment”.
This will create a local copy of the .ipa file for your app. Locate that .ipa file and change its the extension to .zip. Expand the .zip file. This will produce a Payload folder containing your .app bundle.Open a terminal and change the working directory to the top level of your .app bundle cd path/to/Payload/your.app
Use the find tool to locate Assets.car files in your .app bundle as shown below: find . -name ‘Assets.car’
Use the assetutil tool to find any 16-bit or P3 assets,in each Assets.car your application has as shown below. : sudo xcrun –sdk
iphoneos assetutil –info /path/to/a/Assets.car > /tmp/Assets.Jsonexamine the resulting /tmp/Assets.Json and look for any contents containing “displayGamut”: “P3” and its associated “name”. This will
be the name of your imageset containing one or more 16-bit or P3
assets.Replace those assets with 8-bit / sRGB assets,then rebuild your app. Update: If your Deployment Target is set to either 8.3 or 8.4
and you have an asset catalog then you will receive this same error
message,even if you do not actually have 16-bit or P3 assets. In
this case you will either need to lower your Deployment Target to 8.2,
or move it up to 9.x.Update: If your Deployment Target is set to either 8.3 or 8.4 and you have an asset catalog then you will receive this same error message,even if you do not actually have 16-bit or P3 assets. In this case you will either need to lower your Deployment Target to 8.2,or move it up to 9.x.
以上是内存溢出为你收集整理的仅在运行iOS 8的xcode 8上运行EXC_BAD_ACCESS全部内容,希望文章能够帮你解决仅在运行iOS 8的xcode 8上运行EXC_BAD_ACCESS所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)