Not informative exception info on xCode 4.6 - ios

If my application crashes I take the information on All Output window like this:
Uncaught exception: * -[NSPlaceholderMutableString initWithString:]:
nil argument 2013-02-28 04:09:15.209 Cpp[948:907] Terminating app
due to uncaught exception 'NSInvalidArgumentException', reason: '
-[NSPlaceholderMutableString initWithString:]: nil argument'
* First throw call stack: (0x3336b3e7 0x3b05c963 0x3336b307 0x33bf0eb5 0x33c0ab8b 0xd16ed 0xd0a63 0xc3e79 0xc5cfd 0x3336ead4
0x332c628f 0x332c5de3 0x39be081b 0x3336d737 0x332c5208 0x3336ead4
0x332c628f 0x3930bc5b 0x39348ce1 0x333408f7 0x3334015d 0x3333ef2f
0x332b223d 0x332b20c9 0x36e9033b 0x351ce2b9 0xc0109 0xc00a0)
libc++abi.dylib: terminate called throwing an exception (lldb)
And the call stack like this:
Where is there something helpful to fix the issue? Where is there my method on call stack? Where is there my line of code? What's wrong with xCode and how to fix this problem?

Here's something I do to get the stack trace.
In your AppDelegate.m file:
void uncaughtExceptionHandler(NSException *exception) {
NSLog(#"Call Stack: %#", exception.callStackSymbols);
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
// The rest of your method here...
}

Related

Application crash when try to make video call using QBVideoChat

I am developing an application for video call, but when try to make call application crash with following error
2014-12-30 00:00:50.866 closeChat[28683:3791106] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString xmlChar]: unrecognized selector sent to instance 0x19b4a8'
*** First throw call stack:
(0x29e5949f 0x3764fc8b 0x29e5e8b9 0x29e5c7d7 0x29d8e058 0xf2bc5 0xee3a9 0x89923 0x89d89 0x29e1627b 0x88c05 0x889af 0x371b3 0x2d34c9fb 0x2d34c9a1 0x2d337613 0x2d34c40d 0x2d3111ad 0x29e1fd95 0x29e1d453 0x29e1d85b 0x29d6b3c1 0x29d6b1d3 0x311690a9 0x2d37afa1 0x67189 0x37bcfaaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
I used the following code:
self.videoChat = [[QBChat instance] createAndRegisterVideoChatInstance];
self.videoChat.viewToRenderOpponentVideoStream = self.imgOppenentViewView;
self.videoChat.viewToRenderOwnVideoStream = self.imgOwnVideoView;
self.videoChat.useHeadphone = 1;
self.videoChat.useBackCamera = 1;
NSMutableDictionary *videoChatConfiguration = [[QBSettings videoChatConfiguration] mutableCopy];
//
[videoChatConfiguration setObject:AVCaptureSessionPresetLow forKey:kQBVideoChatFrameQualityPreset];
[videoChatConfiguration setObject:#10 forKey:kQBVideoChatVideoFramesPerSecond];
//
[QBSettings setVideoChatConfiguration:videoChatConfiguration];
[QBChat instance].delegate = self;
[self.videoChat callUser:[self.opponentID intValue] conferenceType:QBVideoChatConferenceTypeAudioAndVideo];
I've tested video sample Quickblox with your settings and video call works as expected.
Please try to setup Quickblox with CocoaPods and see if error happens again
http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework#CocoaPods
And there is a new WebRTC sample you can test. It has more features and preferred to use.

keychain error while fetching device id

I am working on a project which requires integration with cocoalibspotify. I have some unit test cases for the classes that import CocoaLibSpotify.h. Those test cases have failed with the following stack trace:
Assertion failure in NSString* base::deviceIdFromKeychain()(), /Users/spotify-buildagent/buildAgent/work/1e0ce8a77adfb2dc/client/base/_apple/_ios/os_ios.mm:287
2013-10-20 11:14:03.505 * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Keychain error when fetching device ID, nonrecoverable'
* First throw call stack:
(0x30f0cf53 0x3b2366af 0x30f0ce2d 0x318b41df 0x2d142f 0x2d1a09 0x2ce6db 0x17b1b5 0x1798b3 0x30ed81b9 0x30ed753b 0x30ed5e45 0x30e40ce7 0x30e84803 0x179b1d 0x318efe27 0x3b85dc1d 0x3b85db8f 0x3b85bc90)
libc++abi.dylib: terminating with uncaught exception of type NSException
The method at which the exception is thrown is in the SPSession.m class: CFRunLoopRun();
+(void)runBackgroundRunloop:(dispatch_block_t)runLoopReadyBlock {
#autoreleasepool {
[NSThread currentThread].name = #"com.spotify.CocoaLibSpotify";
[runloopReadyLock lock];
libspotify_runloop = CFRunLoopGetCurrent();
sleep(1);
libspotifyThread = [NSThread currentThread];
// Use a custom, no-op run loop source to keep the loop alive and fast.
CFRunLoopSourceContext libspotify_source_context;
memset(&libspotify_source_context, 0, sizeof(CFRunLoopSourceContext));
libspotify_runloop_source = CFRunLoopSourceCreate(NULL, 0, &libspotify_source_context);
CFRunLoopAddSource(libspotify_runloop, libspotify_runloop_source, kCFRunLoopDefaultMode);
[runloopReadyLock unlockWithCondition:1];
CFRunLoopRun();
CFRelease(libspotify_runloop_source);
CFRelease(libspotify_runloop);
libspotify_runloop_source = NULL;
libspotify_runloop = NULL;
libspotifyThread = nil;
}
}
I have no clue what causes the error or how to fix it. Does anyone have any idea about this?
Thanks,
Make sure you're using the latest version of CocoaLibSpotify (2.4.5).
Also, how are the unit tests run? Does your app run correctly? Does CocoaLibSpotify's own unit test suite run? It's worth noting that the Keychain is unaccessible to CocoaLibSpotify before the device has been unlocked.

ios inapp purchases - getting exception because product is not recognized

I am getting this exception:
2013-08-06 21:48:05.046 entrepreneur[13200:11f03] Not purchased: 1
2013-08-06 21:48:09.075 entrepreneur[13200:11f03] Buying (null)...
2013-08-06 21:48:09.077 entrepreneur[13200:11f03] Buying (null)...
2013-08-06 21:48:09.079 entrepreneur[13200:11f03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid product identifier: (null)'
*** First throw call stack:
(0x1691012 0x1123e7e 0x1690deb 0x3c7dc 0x18d5f 0x1a4be 0x1137705 0x6e920 0x6e8b8 0x12f671 0x12fbcf 0x12ed38 0x9e33f 0x9e552 0x7c3aa 0x6dcf8 0x14dbdf9 0x14dbad0 0x1606bf5 0x1606962 0x1637bb6 0x1636f44 0x1636e1b 0x14da7e3 0x14da668 0x6b65c 0x2a1d 0x2945)
libc++abi.dylib: terminate called throwing an exception
Because the product seems to be nil. Here is how I put the product object together:
This is the method which is called when the "subscribe" button is called:
- (IBAction)subscribe:(id)sender
{
UIButton *buyButton = (UIButton *)sender;
SKProduct *product = _products[buyButton.tag];
NSLog(#"Buying %#...", product.productIdentifier);
[[RageIAPHelper sharedInstance] buyProduct:product];
}
I am working from this tutorial:
http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial
And I don't really understand how they can be creating the product object which seems like it would be empty. But when it is empty, it gives an exception down the line.
Is there something I am not doing quite right here?
Thanks!

xcode tableview error pointing on main file

i am trying to display record from mysql database by connecting and fatching data through PHP
the error is pointing in following line
int main(int argc, char *argv[])
{
#autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
error output
2013-07-17 20:42:51.148 plan[738:11303] *** Assertion failure in -[UITableView
dequeueReusableCellWithIdentifier:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-
2380.17/UITableView.m:4460
2013-07-17 20:42:51.158 plan[738:11303] *** Terminating app due to uncaught
exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with
identifier Cell - must register a nib or a class for the identifier or connect a
prototype cell in a storyboard'
*** First throw call stack:
(0x1c91012 0x10cee7e 0x1c90e78 0xb64665 0xc46c4 0x2c78 0xcd8fb 0xcd9cf 0xb61bb 0xc6b4b
0x632dd 0x10e26b0 0x228dfc0 0x228233c 0x228deaf 0x1022bd 0x4ab56 0x4966f 0x49589
0x487e4 0x4861e 0x493d9 0x4c2d2 0xf699c 0x43574 0x4376f 0x43905 0x4c917 0x1096c
0x1194b 0x22cb5 0x23beb 0x15698 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962 0x1c37bb6
0x1c36f44 0x1c36e1b 0x1117a 0x12ffc 0x242d 0x2355)
libc++abi.dylib: terminate called throwing an exception
(lldb)
please help me in this regard.
possible reason is you dont have tableview and cell in nib file or connection is missing..Do connect the table from nib and code

ios iframe issues with webview

I have a problem with UIWebView. If a iframe is loading some content and for some reason I change the source or I remove the element, I get the following exception:
MyApp[5812:11303] shouldStartLoadWithRequest
2013-03-14 18:48:45.899 MyApp[5812:11303] shouldStartLoadWithRequest
2013-03-14 18:48:45.900 MyApp[5812:11303] *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> *** setObjectForKey: key cannot be nil
2013-03-14 18:48:45.901 MyApp[5812:13603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: key cannot be nil'
*** First throw call stack:
(0x1c94012 0x10d1e7e 0x1d170de 0x26e35ce 0x26e5693 0x26d44b5 0x2bf8747 0x2bf5610 0x2ec841a 0x2ec6c49 0xb0108ef 0x6619e11 0x6572fc3 0x2dd9d34 0x2eacd15 0x2b31eac 0x2b31c76 0x317bce9 0x2b176d5 0x2b184a5 0x316ade9 0x2b1772e 0x317cc6d 0x2b1e3f4 0x2b1f97b 0x2b2382f 0x26f1f7b 0x356182c 0x3561795 0x3564b2f 0x35648bb 0x356bffb 0x356487c 0x1e50f4 0x356bffb 0x1e4deb 0x1e5787 0x356c548 0x1c17f3f 0x1c17a39 0x1c3a734 0x1c39f44 0x1c39e1b 0x356bc50 0x97efced9 0x97f006de)
libc++abi.dylib: terminate called throwing an exception
(lldb)
Is there something that I need to add to my code the deal with this scenario ?
In my case it was because I call my method scrollToId in viewWillAppear, before webWiew is loaded
- (void)scrolToID
{
NSString *jsCall = [NSString stringWithFormat:#"window.location.hash='#%#'", currentID];
[self.webView stringByEvaluatingJavaScriptFromString:jsCall];
}
It should be call in webViewDidFinishLoad

Resources