I have to save Boolean
Value to NSUserDefault
in my App with custom keyboard extension
and share with App Group.
My Code is worked in iOS 8
Beta1.
self.defaults = [NSUserDefaults standardUserDefaults];
if([self.defaults boolForKey:@"BlackKey"])
{
NSLog(@"Black");
}
else
{
NSLog(@"White");
}
But Not in iOS 8 Beta3. When i retrieve Boolean
value from NSUserDefault
, it's return nothing and i can't load from custom keyboard extension.
I have also tried with initWithSuiteName
in NSUserDefault
. Am i only one for that problem or bugs of iOS 8 Beta3?
A few probable solutions are:
Your app group is not setup correctly, or you are not using the correct group identifier with initWithSuiteName:
You have not enabled network access for your keyboard. This document states the following when you have network access disabled for your keyboard (default behavior):
No shared container with containing app
It's a bug.
Try using
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BlackKey"];
when you save and read it by using this code:
if([[NSUserDefaults standardUserDefaults] boolForKey:@"BlackKey"]) {
NSLog(@"Black");
}
else
{
NSLog(@"White");
}
or if you already done so, then it can be bug, and Xcode 6 beta versions also have other bugs so it's safer to try in Xcode 5 or older.