我在我的应用程序中添加了自定义键盘扩展并运行完美.
我在我的键盘扩展类中添加了NSNotification,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeKeyboardColor) name:@"keyboard_color" object:nil];
现在我从我的视图控制器类调用此通知,如下所示:
[[NSNotificationCenter defaultCenter] postNotificationName:@"keyboard_color" object:self];
现在我在我的键盘扩展类中添加了我的通知选择器方法,如下所示:
-(void)changeKeyboardColor{
}
但它没有用.我在模拟器中测试,我不知道如何在模拟器中测试键盘扩展.
谢谢.
最佳答案 从
developer.apple.com创建应用程序组
组名必须与group.XXXXX类似
启用应用程序组,如果它同时禁用了应用程序ID和扩展程序应用程序ID.
如果它看起来无效,请更新到现有的配置文件!
转到目标并提及您已创建的组名称
转到键盘扩展名并提及相同的组名称
现在您完成了所有必需的设置.
在NSUserDefaults中的项目商店值中
let userd: NSUserDefaults = NSUserDefaults(suiteName: "group.XXXXX")!
userd.setObject("test11", forKey: "key")
userd.synchronize()
// Objective-C的
NSUserDefaults *userd = [[NSUserDefaults alloc]initWithSuiteName:@"group.XXXXX"];
[userd setObject:@"test11" forKey:@"key"];//set the object you want to share
[userd synchronize];
用于在Extension类中检索NSUserDefaults值
let userd: NSUserDefaults = NSUserDefaults(suiteName: "group.XXXXX")!
print(userd.objectForKey("key"))
// Objective-C
NSUserDefaults *userd = [[NSUserDefaults alloc]initWithSuiteName:@"group.XXXXX"];
NSLog(@"%@",[userd objectForKey:@"key"]);
快乐的编码!