I have a crash that is occurring on iOS7 only. The app is compiled against 6.1 sdk. I can not reproduce this myself but I can see from crash reports that it is occurring for some users. The problem is there is no user code in the stack trace so it is proving difficult to track down:
Exception Type: EXC_BAD_ACCESS Code: KERN_INVALID_ADDRESS at 0x13
0 libobjc.A.dylib objc_msgSend + 5
1 UIKit -[UIApplication sendAction:to:from:forEvent:] + 90
2 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
3 UIKit -[UIControl sendAction:to:forEvent:] + 44
4 UIKit -[UIControl _sendActionsForEvents:withEvent:] + 374
5 UIKit -[UIControl touchesEnded:withEvent:] + 590
6 UIKit -[UIWindow _sendTouchesForEvent:] + 528
7 UIKit -[UIWindow sendEvent:] + 832
8 UIKit -[UIApplication sendEvent:] + 196
9 UIKit _UIApplicationHandleEventQueue + 7096
10 ... CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
16 UIKit UIApplicationMain + 1136
I have tried enabling zombies and performing various actions in the app but that didn't flag anything.
Update
I think this might have morphed in to [UIPickerView _updateSelectedRows], EXC_BAD_ACCESS under iOS 7.1 . I will investigate further.
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x39576626 objc_msgSend + 5
1 UIKit 0x3187b12f -[UIPickerView _updateSelectedRows] + 54
2 UIKit 0x3187b26f -[UIPickerView didMoveToWindow] + 78
3 UIKit 0x3160ad37 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1358
4 UIKit 0x3160aaa5 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 700
5 UIKit 0x3160a40d __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 112
6 UIKit 0x3160a263 -[UIView(Hierarchy) _postMovedFromSuperview:] + 250
7 UIKit 0x318a2a27 __UIViewWasRemovedFromSuperview + 218
8 UIKit 0x31609187 -[UIView(Hierarchy) removeFromSuperview] + 270
9 UIKit 0x316cf26f -[UIPeripheralHost(UIKitInternal) adjustHostViewForTransitionCompletion:] + 310
10 UIKit 0x31a6ca8b __53-[UIPeripheralHost(UIKitInternal) executeTransition:]_block_invoke1364 + 318
11 UIKit 0x3164378d -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 284
12 UIKit 0x316433d7 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 178
13 UIKit 0x316432ef -[UIViewAnimationState animationDidStop:finished:] + 66
14 QuartzCore 0x3128de0b CA::Layer::run_animation_callbacks(void*) + 234
15 libdispatch.dylib 0x39a55d3f _dispatch_client_callout + 22
16 libdispatch.dylib 0x39a586c3 _dispatch_main_queue_callback_4CF + 278
17 CoreFoundation 0x2eda6679 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
18 CoreFoundation 0x2eda4f45 __CFRunLoopRun + 1308
19 CoreFoundation 0x2ed0f7a9 CFRunLoopRunSpecific + 524
20 CoreFoundation 0x2ed0f58b CFRunLoopRunInMode + 106
21 GraphicsServices 0x33c6c6d3 GSEventRunModal + 138
22 UIKit 0x3166e891 UIApplicationMain + 1136
I had the almost identical crash log with our project we were able to track to an animation.
The problem was that we animated a UIPickerView on and off the screen. If the ViewController that owned the UIPickerView was popped and dealloced during the animation. We solved this by removing the UIPickerView from the superview in the animation completion block.
[UIView animateWithDuration:0.5f animations:^{
//Set the destination frame of the PickerView
} completion:^(BOOL finished) {
[self.pickerView removeFromSuperview];
}];
I don't know about other crash reporting tools, but Crashlytics includes the CLS_LOG() macro:
http://support.crashlytics.com/knowledgebase/articles/92519-how-do-i-use-logging
During development, it behaves as NSLog() but in the field, the log statements are included in crash reports. So I suggest replacing your debugging statements with CLS_LOG or start peppering the code in question with lots of statements that capture the user actions, then deploy a new version of your app.
(Old question, but I recently ran into something similar and would like to document this.)
All I just received a similar crash with a UIPicker. Turns out that I forgot to set the delegate to nil before deallocating it. The problem only presented when running with breakpoints enabled. Hope this helps someone else.
Try removing arm64 from:
Project > BuildSettings > Architectures> Valid Architectures
and rebuilding you app.
You might also need to set Build Active Architectures Only to NO for it to work.
Related
My app keeps being rejected by Apple Beta Review Team because of what they claim is a crash at boot. Point is the crash never happens on any simulator or device on my side.
The symbolicated crash log reports something like the following, but the line 74 reported in HomeViewController.swift (here I report an image of the code submitted to the Beta Review Team)
is simply referencing a UITableView IBOutlet coming from the storyboard, if I put a breakpoint here the tableView is instantiated. I am using swift, iOS 9.3.2 and Xcode 7.3.1.
EDIT: Line 87 is same, calling a function renderButton(btnOpened, selected: true) on a UIButton IBOutlet.
I tried setting zombies, address sanitizer, I keep not having the crash, they keep having it, I have no clue what possibly could fix this. Does anyone has any idea of what could be wrong?
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 Sportito 0x00000001000cee40 HomeViewController.viewDidLoad() -> () (HomeViewController.swift:74)
1 Sportito 0x00000001000ce990 HomeViewController.viewDidLoad() -> () (HomeViewController.swift:87)
2 Sportito 0x00000001000cee60 #objc HomeViewController.viewDidLoad() -> () (HomeViewController.swift:0)
3 UIKit 0x0000000186934c40 -[UIViewController loadViewIfRequired] + 996
4 UIKit 0x0000000186934844 -[UIViewController view] + 28
5 UIKit 0x0000000186cdaaec -[UINavigationController preferredContentSize] + 172
6 UIKit 0x0000000186b9adf4 -[UIViewController(UIPopoverController_Internal) _resolvedPreferredContentSize] + 68
7 UIKit 0x0000000186b9a858 -[UIPopoverController _transitionFromViewController:toViewController:animated:] + 152
8 UIKit 0x0000000186b9a48c -[UIPopoverController _initWithContentViewController:popoverControllerStyle:] + 836
9 UIKit 0x0000000186f5ac7c -[UISplitViewController _setupHiddenPopoverControllerWithViewController:] + 120
10 UIKit 0x0000000186f5aeec -[UISplitViewController _viewControllerHiding:] + 356
11 UIKit 0x0000000186f62b60 -[UISplitViewController viewWillAppear:] + 208
12 UIKit 0x000000018694d374 -[UIViewController _setViewAppearState:isAnimating:] + 628
13 UIKit 0x000000018694d0e8 -[UIViewController __viewWillAppear:] + 156
14 UIKit 0x000000018693cf14 -[UIView(Hierarchy) _willMoveToWindow:withAncestorView:] + 596
15 UIKit 0x000000018693c13c -[UIView(Internal) _addSubview:positioned:relativeTo:] + 444
16 UIKit 0x000000018693b7e8 -[UIWindow addRootViewControllerViewIfPossible] + 664
17 UIKit 0x0000000186938a88 -[UIWindow _setHidden:forced:] + 252
18 UIKit 0x00000001869aefa4 -[UIWindow makeKeyAndVisible] + 48
19 UIKit 0x0000000186bda3ac -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3456
20 UIKit 0x0000000186bde5f0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1684
21 UIKit 0x0000000186bdb764 -[UIApplication workspaceDidEndTransaction:] + 168
22 FrontBoardServices 0x000000018317f7ac __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
23 FrontBoardServices 0x000000018317f618 -[FBSSerialQueue _performNext] + 168
24 FrontBoardServices 0x000000018317f9c8 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
25 CoreFoundation 0x000000018179509c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
26 CoreFoundation 0x0000000181794b30 __CFRunLoopDoSources0 + 540
27 CoreFoundation 0x0000000181792830 __CFRunLoopRun + 724
28 CoreFoundation 0x00000001816bcc50 CFRunLoopRunSpecific + 384
29 UIKit 0x00000001869a394c -[UIApplication _run] + 460
30 UIKit 0x000000018699e088 UIApplicationMain + 204
31 Sportito 0x000000010002e860 main (AppDelegate.swift:42)
32 libdyld.dylib 0x000000018125a8b8 start + 4
Is the app set as universal? Could they be getting the crash on an iPad while you're testing on an iPhone, or vice-versa?
According to apple's guideline your app must not crash on iphone or ipad whether your app is universal or not.
If your app is iPhone only then it should run in small resolution on ipad but it must not crash in any situation, because from appstore user can download iphone only app from ipad also so, it shouldn't crash.
So, check in iPad also that your app is not crashing.
If your app is universal then there shouldn't problem of resolution in ipad or iphone both.
So, make sure which mistake you are doing.
hope this will help :)
I've had this problem for a while and it's driving me nuts. This is reported by Crashlytics but only for a few users. I'm unable to recreate the problem myself.
I'm using a SplitViewController and this occurs after a user adds data within a UIViewController and touch the save button, which then returns to the SplitViewController to perform the method 'saveItemEntry' shown below.
I've tried a suggestion from a previous post which was to wrap the [self.tableView reloadData] with dispatch_async(dispatch_get_main_queue(), ^(void), but that actually made it worse. It isn't like the data takes ages to load, it doesn't, so I can't see that multi-tasking will help, but I'm open to advice on whether I should be doing that.
I'm really not clear on how to interperupt the crash info. If someone can and can suggest what might be causing this that would be awesome.
If more info is needed please let me know.
Here's the crash details:
Here's the Raw stuff..
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x20407ae2 objc_msgSend + 1
1 CoreFoundation 0x20b8391b -[NSDictionary descriptionWithLocale:indent:] + 310
2 Foundation 0x2136fe2d _NSDescriptionWithLocaleFunc + 60
3 CoreFoundation 0x20c011a3 __CFStringAppendFormatCore + 7986
4 CoreFoundation 0x20bff255 _CFStringCreateWithFormatAndArgumentsAux2 + 80
5 CoreFoundation 0x20c17559 _CFLogvEx2 + 96
6 CoreFoundation 0x20c179af _CFLogvEx3 + 118
7 Foundation 0x214374f7 _NSLogv + 126
8 Foundation 0x2137e79d NSLog + 28
9 UIKit 0x24eac5fb -[UITableView reloadData] + 1818
10 Simple Meeting Minutes 0xfb859 -[MMDetailTableVC saveItemEntry:] (MMDetailTableVC.m:1423)
11 Simple Meeting Minutes 0x10becf -[MMItemViewController saveButtonAction:] (MMItemViewController.m:526)
12 UIKit 0x24dfd771 -[UIApplication sendAction:to:from:forEvent:] + 80
13 UIKit 0x24f7ec71 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 140
14 UIKit 0x24dfd771 -[UIApplication sendAction:to:from:forEvent:] + 80
15 UIKit 0x24dfd701 -[UIControl sendAction:to:forEvent:] + 64
16 UIKit 0x24de561f -[UIControl _sendActionsForEvents:withEvent:] + 446
17 UIKit 0x24de574b -[UIControl _sendActionsForEvents:withEvent:] + 746
18 UIKit 0x24dfd051 -[UIControl touchesEnded:withEvent:] + 616
19 UIKit 0x24dfccbf -[UIWindow _sendTouchesForEvent:] + 646
20 UIKit 0x24df55d7 -[UIWindow sendEvent:] + 642
21 UIKit 0x24dc6119 -[UIApplication sendEvent:] + 204
22 UIKit 0x24dc4757 _UIApplicationHandleEventQueue + 5134
23 CoreFoundation 0x20bf1257 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
24 CoreFoundation 0x20bf0e47 __CFRunLoopDoSources0 + 454
25 CoreFoundation 0x20bef1af __CFRunLoopRun + 806
26 CoreFoundation 0x20b41bb9 CFRunLoopRunSpecific + 516
27 CoreFoundation 0x20b419ad CFRunLoopRunInMode + 108
28 GraphicsServices 0x21dbbaf9 GSEventRunModal + 160
29 UIKit 0x24e2dfb5 UIApplicationMain + 144
30 Simple Meeting Minutes 0xf5d6f main (main.m:16)
31 libdispatch.dylib 0x207f4873 (Missing)
and here's my code in this particular area..
- (void)saveItemEntry:(MMitem *)item{
if (item)
{
// save item to the sqlite3 database file
NSString *resultStr = [self.meetingModel saveItem:item];
if ([resultStr isEqualToString:#"OK"])
{
// all good so close form and refresh data
[self dismissViewControllerAnimated:NO completion:nil];
[self.tableView reloadData];
// or if there is an error result then display message
}
else if ([resultStr isEqualToString:#"DescriptionNotesMissing"])
{
[self showAlert:#"Missing Description or Notes" :#"An Item Description or Notes is required" :0];
[self.itemViewController.itemDescription becomeFirstResponder];
}
// for any other error do nothing
}
}
I'm using Crashlytics 3.6.0 and I've been getting a couple of crash reports lately that I can't read/understand. They seem to only happen on iOS 8 (can't confirm this 100% though).
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x197fcfbd0 objc_msgSend + 16
1 UIKit 0x18c035c60 -[UIControl _sendActionsForEvents:withEvent:] + 124
2 UIKit 0x18c293e7c -[UISwitch _handleLongPressNL:] + 424
3 UIKit 0x18c1af508 _UIGestureRecognizerSendActions + 276
4 UIKit 0x18c048050 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 580
5 UIKit 0x18c4b420c ___UIGestureRecognizerUpdate_block_invoke662 + 60
6 UIKit 0x18c00c530 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 292
7 UIKit 0x18c00a8dc _UIGestureRecognizerUpdate + 2504
8 UIKit 0x18c0461f8 -[UIWindow _sendGesturesForEvent:] + 1044
9 UIKit 0x18c045898 -[UIWindow sendEvent:] + 660
10 UIKit 0x18c018fa8 -[UIApplication sendEvent:] + 264
11 infinight 0x1003ebe00 -[IBGMethodSwizzler sendEvent:] (IBGMethodSwizzler.m:103)
12 UIKit 0x18c2b7f58 _UIApplicationHandleEventFromQueueEvent + 14992
13 UIKit 0x18c017510 _UIApplicationHandleEventQueue + 1616
14 CoreFoundation 0x18781e9ec __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
15 CoreFoundation 0x18781dc90 __CFRunLoopDoSources0 + 264
16 CoreFoundation 0x18781bd40 __CFRunLoopRun + 712
17 CoreFoundation 0x1877490a4 CFRunLoopRunSpecific + 396
18 GraphicsServices 0x1908eb5a4 GSEventRunModal + 168
19 UIKit 0x18c07e3c0 UIApplicationMain + 1488
20 infinight 0x10013af44 main (main.m:16)
21 libdyld.dylib 0x19862aa08 start + 4
Could anyone help me identify the error? I can't reproduce the error -- it doesn't happen on my device or on the simulator. But I've been getting a fair amount of crash reports like these in the last couple of days from test users.
This was an error that only occured on iOS 8. To reproduce the error, I downloaded the iOS 8.1 simulator and found the error. To get the exact error message, I went to Edit Scheme and Enabled Zombie Objects. That showed me the exact error message:
*** -[NamedUISwitch _sendActionsForEvents:withEvent:]: message sent to deallocated instance
All of my view controllers that contain UITextField objects crash with the following on iOS 9 in the Simulator:
-[UITextField preventStyling]: unrecognized selector sent to instance 0x7fa8b96d6330
Failed to set (styleClass) user defined inspected property on (UITextField): -[UITextField preventStyling]: unrecognized selector sent to instance 0x7fa8b96d6330
Anyone else running into this with Pixate Freestyle? Any ideas? I logged an issue on the GitHub repo, but it doesn't appear anyone is monitoring those: https://github.com/Pixate/pixate-freestyle-ios/issues/186
Below is the full stack trace:
0 CoreFoundation 0x000000010749cf65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000106f14deb objc_exception_throw + 48
2 CoreFoundation 0x00000001074a558d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00000001073f2d97 ___forwarding___ + 487
4 CoreFoundation 0x00000001073f2b28 _CF_forwarding_prep_0 + 120
5 PilotPro 0x000000010438a3c0 -[PXVirtualStyleableControl preventStyling] + 85
6 PilotPro 0x000000010436a0fc +[PXStyleUtils updateStyleForStyleable:] + 83
7 PilotPro 0x00000001043812d8 -[UIView(PXStyling) updateStyles] + 317
8 CoreFoundation 0x000000010738b85c __invoking___ + 140
9 CoreFoundation 0x000000010749df49 -[NSInvocation invokeUsingIMP:] + 217
10 UIKit 0x0000000105d0d773 __workaround10030904InvokeWithTarget_block_invoke + 84
11 UIKit 0x00000001056b5fe1 +[UIView _performSystemAppearanceModifications:] + 66
12 UIKit 0x0000000105d0d70d workaround10030904InvokeWithTarget + 1053
13 UIKit 0x0000000105d07995 applyInvocationsToTarget + 1864
14 UIKit 0x0000000105d06aac +[_UIAppearance _applyInvocationsTo:window:matchingSelector:onlySystemInvocations:] + 1888
15 UIKit 0x00000001056d8a36 __88-[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:]_block_invoke + 64
16 UIKit 0x00000001056d89c0 -[UIView(Internal) _performUpdatesForPossibleChangesOfIdiom:orScreen:traverseHierarchy:] + 189
17 UIKit 0x00000001056d88d6 -[UIView(Internal) _didChangeFromIdiomOnScreen:traverseHierarchy:] + 182
18 UIKit 0x00000001056d7ea3 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1743
19 UIKit 0x0000000105792b41 -[UIControl _didMoveFromWindow:toWindow:] + 68
20 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
21 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
22 UIKit 0x00000001056ec7d0 -[UIScrollView _didMoveFromWindow:toWindow:] + 85
23 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
24 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
25 UIKit 0x00000001056ec7d0 -[UIScrollView _didMoveFromWindow:toWindow:] + 85
26 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
27 UIKit 0x00000001056d7b32 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 862
28 UIKit 0x00000001056cd106 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 155
29 UIKit 0x00000001056cd005 -[UIView(Hierarchy) _postMovedFromSuperview:] + 544
30 UIKit 0x00000001056daac3 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1967
31 UIKit 0x0000000105a83212 -[UINavigationTransitionView transition:fromView:toView:] + 672
32 UIKit 0x00000001057fd27d -[UINavigationController _startTransition:fromViewController:toViewController:] + 3262
33 UIKit 0x00000001057fd879 -[UINavigationController _startDeferredTransitionIfNeeded:] + 890
34 UIKit 0x00000001057fe67d -[UINavigationController __viewWillLayoutSubviews] + 57
35 UIKit 0x000000010599663d -[UILayoutContainerView layoutSubviews] + 248
36 PilotPro 0x00000001043a6825 callSuper0 + 55
37 PilotPro 0x000000010438b259 -[PXUIView layoutSubviews] + 47
38 UIKit 0x00000001056de11c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 710
39 QuartzCore 0x00000001053ab36a -[CALayer layoutSublayers] + 146
40 QuartzCore 0x000000010539fbd0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366
41 QuartzCore 0x000000010539fa4e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
42 QuartzCore 0x00000001053941d5 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277
43 QuartzCore 0x00000001053c19f0 _ZN2CA11Transaction6commitEv + 508
44 QuartzCore 0x00000001053c2154 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
45 CoreFoundation 0x00000001073c89d7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
46 CoreFoundation 0x00000001073c8947 __CFRunLoopDoObservers + 391
47 CoreFoundation 0x00000001073bdebc CFRunLoopRunSpecific + 524
48 UIKit 0x000000010562898d -[UIApplication _run] + 402
49 UIKit 0x000000010562d676 UIApplicationMain + 171
50 PilotPro 0x000000010417cf84 main + 132
51 libdyld.dylib 0x000000010798892d start + 1
This is a Copy & paste of my solution: https://github.com/Pixate/pixate-freestyle-ios/issues/192
Hi folks,
Like other people, i had several problems with PixateFreestyle framework when i upgraded to Xcode to 7 and Mac OS X El capitan.
After some days researching, i decided to compile my own version of PixateFreestyle framework in order to avoid this problems.
You have my version here: https://www.dropbox.com/s/9cz035h67y9x7fd/PixateFreestyle.framework.zip?dl=0
If you add this framework to your project, when you execute Simulator or create an archive with bitcode enabled all will works like a charm.
If you want to build your own PixateFreestyle framework from source code, follow this steps:
Download the project from github
Fix the callSuper1v issue: #186
Build a universal framework with a custom script
Add bitcode support in build process [optional]
Add resulting framework to your project
Regards.
I have also run into this problem and my solution, far from perfect, is working :D
From this post, I have been able to fix three problems: The preventStyling, playsNicelyWithGestures and _isInteractiveTextSelectionDisabled selector errors. Moreover, I had to add one more function: requiresKeyEvents.
With this, problem solved :D
Thank you :)
While Pixate is no longer supported, a new framework named StylingKit is. StylingKit uses all of Pixate's code in the background so all of your methods should still work and it will not run into any iOS 9 issues.
The exception to this rule is any Pixate static methods like [PixateFreestyle updateStylesForAllViews]. In this case, you can create accessor methods in the StylingKit.m and StylingKit.h files to use the hidden PixateFreestyle functions.
For example if your project relies on updating CSS themes through [PixateFreestyle updateStylesForAllViews], you can create a new method declaration in StylingKit.h like:
#interface StylingKit : NSObject
-(void)PixateUpdateStylesForAllViews;
-(void)OtherHiddenPixateMethod;
Then implement those methods in the StylingKit.m file.
#implementation StylingKit
-(void)PixateUpdate
{
[PixateFreestyle updateStylesForAllViews];
}
-(void)OtherHiddenPixateMethod
{
//Your PixateFreeStyle code here
}
Finally you can call these methods from your project with
[[StylingKit sharedKit] PixateUpdate];
[[StylingKit sharedKit] OtherHiddenPixateMethod];
I ran into a very unusual problem.. i got a crash on UIKit.. first time i have faced something like this.. Please can anybody guide my in this..
This is the crash log that i got.
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x1161a18c
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x386fcb66 objc_msgSend + 5
1 UIKit 0x30b5dda3 -[UIApplication sendAction:to:from:forEvent:] + 90
2 UIKit 0x30cc5615 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
3 UIKit 0x30b5dda3 -[UIApplication sendAction:to:from:forEvent:] + 90
4 UIKit 0x30b5dd3f -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 38
5 UIKit 0x30b5dd13 -[UIControl sendAction:to:forEvent:] + 46
6 UIKit 0x30b49743 -[UIControl _sendActionsForEvents:withEvent:] + 374
7 UIKit 0x30b5d75b -[UIControl touchesEnded:withEvent:] + 594
8 UIKit 0x30b5d425 -[UIWindow _sendTouchesForEvent:] + 528
9 UIKit 0x30b58451 -[UIWindow sendEvent:] + 832
10 UIKit 0x30b2dd79 -[UIApplication sendEvent:] + 196
11 UIKit 0x30b2c569 _UIApplicationHandleEventQueue + 7116
12 CoreFoundation 0x2e36ff1f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
13 CoreFoundation 0x2e36f3e7 __CFRunLoopDoSources0 + 206
14 CoreFoundation 0x2e36dbd7 __CFRunLoopRun + 630
15 CoreFoundation 0x2e2d8471 CFRunLoopRunSpecific + 524
16 CoreFoundation 0x2e2d8253 CFRunLoopRunInMode + 106
17 GraphicsServices 0x330122eb GSEventRunModal + 138
18 UIKit 0x30b8d845 UIApplicationMain + 1136
19 TradeMate 0x0008f2bf main (main.m:16)
You are crashing in objc_msgSend. This means (as explained in this famous article) that the receiver has gone missing. In this case it appears that the user has tapped a button which sends an action message to a target, but the target object has gone out of existence.
Make sure the receiver or the object which receives the events is declared strong.
You may not even get the crash log to figure out what what went wrong :)
If you are getting something like above check if the object is declared strong. That should solve the issue