Software Development Kit

ATK can''t run on iOS 9.1

Hi all,

I used the SingleCharWidget in my app. I worked well on iOS 8.4, but now it can''t run on iOS 9.1 after I updated my iPad with iOS 9.1

It can''t recognize any stroke on the handwriting area and not clear stroke automatically.

SingleCharViewDelegate doesn't function correctly; therefore, these functions dont work:
- (void)singleCharWidget:(SCWSingleCharView *)sender didChangeText:(NSString*)text intermediate:(BOOL)intermediate
- (void)singleCharWidgetDidEndRecognition:(SCWSingleCharView*)sender
- (void)singleCharWidgetDidEndRecognition:(SCWSingleCharView*)sender

Can see

It seems to be a certificate issue, could you please check if the configuration is successful?
To do so, please add a break point to see the log:
NSLog(@"singleCharWidgetDidEndConfigurationWithSuccess:%@",success? @"YES":@"NO");

Do you have the issue with the default sample as well?
In your apps using the SingleCharWidget, you have to use the correct 'Bundle Identifier' (the same you declared on the ATK server side) in the build settings otherwise, the configure method will fail.

Best regards

Hi Cate, I'm in VietDoor's team. Thank you very much for responding.

We have checked Myscript sample and it runs well in real devices v.9.1.

For our app, with pre-v.9.1, it works fine in both simulators and real devices. However, with v.9.1 it only works in simulator but not in real device.

I wonder if it's about wrong configuration or the key problem?

Thanks in advance!


On our side, we didn't reproduce the problem. Did you add the log to check the configuration result?
NSLog(@"singleCharWidgetDidEndConfigurationWithSuccess:%@",success? @"YES":@"NO");
Did you check the bundle identifier name is correct with your app?

Best regards,

hi Cate

That function was not called, but some devices worked well, others not

- (SCWSingleCharView *)configureWithResources:languagePackage {
NSArray* resources = [FWLanguageManager resourcesForLanguage:languagePackage];
NSArray* paths = [FWLanguageManager pathsForResources:resources];
NSData *certificate = [NSData dataWithBytes:myscriptCertificate.bytes length:myscriptCertificate.length];

[_singleCharWidget configureWithLanguage:languagePackage resources:paths certificate:certificate];

return _singleCharWidget;

#pragma mark - SCWSingleCharView's delegate
- (void)singleCharWidgetDidBeginConfiguration:(SCWSingleCharView*)sender {
- (void)singleCharWidget:(SCWSingleCharView*)sender didEndConfigurationWithSuccess:(BOOL)success {
DLog(@"singleCharWidgetDidEndConfigurationWithSuccess:%@", success ? @"YES" : @"NO");


Above is our code to configure, after configuring language, it jumps to DLog(@"singleCharWidgetDidBeginConfiguration"); but donn't jump to DLog(@"singleCharWidgetDidEndConfigurationWithSuccess:%@", success ? @"YES" : @"NO");

Additionally, we have tested with two ipads v.9.1: one works fine, one doesn't.
For ipad pre-v.9.1, it works fine though code doesn't jump to DLog(@"singleCharWidgetDidEndConfigurationWithSuccess:%@", success ? @"YES" : @"NO");


Hi Cate,

Good news, our app's now working well after we change Certificate new bundle identifier.

However, I don't know how that certificate works. Coz if it's wrong then all simulators and devices should goes wrong as well. In my case, only some devices with v.9.1

Thanks for kindly supporting,

Thanks for your testing and feedback, glad to see it is working properly now on all your devices. As the certificate system requires an internet connection, maybe you have done your first tests without any internet connection?

Yes, we have done our first test without internet. So we got that problem.

It is problem from your ATK with the demo license, Cate?

Your trial period has expired, but you can renew it, to do so go to your dashboard and click on the 'renew' link:

Best regards

Yes, i did, but still has problem without intenet

It is normal the devices without Internet access cannot download their definitive certificates and only have a time-limited certificate. Once expired, there's only one solution, allow Internet access temporarily to troubleshoot. If you are interested by a full offline process, I invite to get in touch with our sales team:
Best regards,