iOS Wikitude SDK crash on exit/reopen app - ios

I've developed a simply app for iOS and Augmented Reality (with WikitudeSDK).
All go fine, but when I exit and reopen the app, at times the app crashes with the following message:
Assertion failure in -[WTGCDDriver createSharedContextWithId:], /Users/emperor/Development/Tools/Jenkins/Master/Instance/jobs/architect_sdk_builder/workspace/repositories/ios_core_services/src/Rendering/Driver/WTDriver.mm:71
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: _context'
Have you any idea of this?
Thanks.

For some reason the OpenGL context is null when you reopen your app; you receive this error because we seem to have forgotten to disable assertions for a public build. So thanks for making us aware of this oversight.
With respect to the actual issue, I cannot provide an answer without having more of an insight into what exactly your app is doing and which version and configuration of the SDK you are using.
I'd therefore like you to create a thread in the Wikitude forums which provides a platform that is better suited for assisting you with this issue than Stack Overflow is.

Related

Unrecognized selector UIDeviceRGBColor countByEnumeratingWithState:objects:count:

I know this is kind of a dupe, but I don't have enough reputation yet to comment on the original post and, while I don't have an answer, I do have more useful information (a concrete example). Moderators, feel free to move this to the proper location.
When compiling my code using the latest XCode 8 beta 6 (iOS 10 SDK), I get an exception "Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIDeviceRGBColor countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x600000071340'"
This happens during the call:
auto viewController = [[[UIViewController alloc] initWithNibName:#"ViewController" bundle:nil] autorelease];
I have isolated the problem by whittling down my project to the bare minimum that will compile and still exhibit the problem. You can download it here:
Example project
Note that I took out lots of code, nearly all classes are gone, which results in a lot of warnings (not errors) for nonexistent classes referenced from the xib. But that doesn't matter, the code still compiles and runs just fine with the iOS 9 SDK. After compiling with the iOS 10 sdk, however, it crashes both in the simulator and on devices running iOS 9.
You can work around the problem by changing "#if 0" into "#if 1" in the file "HackForUnrecognizedSelectorInIOS10.m". This adds a category defining the missing selectors for UIColor. But obviously you can't add that to shipping code, it's just a temporary stopgap measure to continue developing.
I filed a bug report (28153870). But if anyone has any more information on how to avoid this problem without ugly hacks, any information is welcome.
Thanks
Michel Colman
When I try to compile and run my project with the same configuration (XCode 8 beta 6, iOS 10 SDK), I encountered a similar issue, except that my error message was:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIDeviceRGBColor length]: unrecognized selector sent to instance 0x600000479280'
And I noticed that this issue only occurs when the view is init by using interface files, i.e. Xib and Nib. I solved this issue by:
Open your interface file, in the right panel, navigate to the File Inspector tab.
Change the attribute highlighted to "iOS 7.0 and Later" (or whatever iOS version later)
Then compile and run your project again, this should fix your issue, though I am not sure about the reason behind this. I tried the same with your sample project and it solves the issue too.
In my case, I needed to change the project deployment target to 8.0 in the product general settings. Thanks to the hint from the accepted answer!

Firebase app invite crashing on swift ios

I've added firebase app invites in my swift based iOS application. I have followed this complete instructions however, it has been crashing on invite.open() line while showing invite dialog.
The error is:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** setObjectForKey: object cannot be nil (key: GINInviteResources.bundle)'.
Did anyone managed to make it work?
After digging for 2 days what I found was FirebaseInvites.framework seems to have resource dependancies for GINInviteResources.bundle and GPPACLPickerResources.bundle.
Somehow, pod was not including it in to my project.(Still could not find why) but adding this two dependencies manually in to my target worked like a charm.
PS: Adding this answer to save someone's effort.
Right, I too faced this.
Download framework SDK zip from https://firebase.google.com/docs/ios/setup and get those bundles from \Invites\Resources\..

iOS crash 'failed to generate newParagraphStyle'

After I add a library (a internal common library) to my project I received the following crash:
*** Assertion failure in -[_UICascadingTextStorage setTextAlignment:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/TextSystem/_UICascadingTextStorage.m:270
Project[784:18448] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'failed to generate newParagraphStyle'
I can't find what are the reasons for the type of crash or what I did wrong for this.
Note: I added the Libray but I haven't yet used any features from library.
Can anyone help me?
The library may call +initialize or +load or do some general swizzling/overriding of Apple classes and it can mess something up, e.g. in a new iOS version, if APIs changed.
If you have the src for the library, look for those things.
Also create an exception breakpoint, maybe it will point you to the problem in code.

Does anyone know why this exception is being thrown in ios/cordova?

I'm working on a hybrid app with a custom InAppBrowser plugin and seemingly randomly an exception gets thrown.
I don't have any way to consistently reproduce this bug. I open that app and browser around and eventually when clicking my browser plugin's close button this will happen.
It happens within cordova after I call this line here
Where the exception actually happens
CordovaLib.xcodeproj/Classes/Commands/CDVCommandDelegateImpl.m
I have spent hours trying to find what is happening and I can't find any information online that helps. I've tried wrapping it in a try/catch to at least see if I can bypass it and that doesn't work either
The actual logged error is:
*** Assertion failure in -[DDWebKitOperation dealloc], /SourceCache/MobileDataDetectorsUI/MobileDataDetectorsUI-109.1/URLification/DDOperation.m:202
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Container should already be nil'
Does anyone know what could be causing this and how to fix it?
Thanks.
I've seen this crash in UIView's that use data detectors. In my case it was in a unit test, so the fix was to delete the data detector in the test.

pushwoosh error unrecognized selector sent to instance Cordova 1.7.0

I am trying out pushwoosh and tried unregistering an iOS device on the remote api and this error came up:
-[__NSDictionaryI cdvjk_JSONString]: unrecognized selector sent to instance
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [__NSDictionaryI cdvjk_JSONString]: unrecognized selector sent to instance
*** First throw call stack:
libc++abi.dylib: terminate called throwing an exception
Sending request: {"request":{"hwid":"my_hwid", "application":"my_app_id"}}
To urL https://cp.pushwoosh.com/json/1.3/pushStat
(lldb)
I then realized that the unregister method is implemented only for androids and not iOS devices so that request was not being used by the pushwoosh plugins in the plugins folder.
I removed the code from my index.js and pushnotifications.js files but still the error came up every time I tried to launch the app after accepting a push notification.
I then removed this code from the remote api:
new JObject(
new JProperty("custom", "json data"))),
new JProperty("link", "http://pushwoosh.com/")
with the hope that the seemingly custom data wil not be sent to pushwoosh.
Still the error appears. I know that the problem is that an unhanded request is being made every time but the problem is that the code does not exist.
Could I have possibly edited some method signatures and these signatures are being used each and every time I try to accept a push notification?
Or is it that Xcode performs auto-complete?
I would need someone who is familiar with pushwoosh (and Xcode) to help me out here. What would be the workaround without having to upgrade to Cordova 2.1.0 or later since (This error comes from the plugin itself, Phonegap guys have changed the way "JSONString" objective-c function gets called by adding prefix "cdvjk_" breaking the compatibility of the plugins with any < 2.1 Phonegap versions.)?
Please read this thread. Unfortunately, this is kinda fault of PhoneGap guys, who made it impossible to support both Cordova 2.1 and earlier versions:
https://github.com/shaders/phonegap-cordova-push-notifications/issues/12
You can contact Pushwoosh team asking if they still can help you with the older versions.

Resources