gpt4 book ai didi

ios - 如何在 iOS 自定义键盘中添加自定义通知?

转载 作者:可可西里 更新时间:2023-11-01 05:51:06 25 4
gpt4 key购买 nike

我在我的应用程序中添加了自定义键盘扩展程序并且运行完美。

我在我的键盘扩展类中添加了 NSNotification,如下所示:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeKeyboardColor) name:@"keyboard_color"  object:nil];

现在我从我的 View Controller 类调用此通知,如下所示:

[[NSNotificationCenter defaultCenter] postNotificationName:@"keyboard_color" object:self];

现在我已经在我的键盘扩展类中添加了我的通知选择器方法,如下所示:

-(void)changeKeyboardColor{
}

但它不起作用。我正在模拟器中进行测试,但我不知道如何在模拟器中测试键盘扩展。

谢谢。

最佳答案

developer.apple.com 创建应用组

enter image description here

组名必须像group.XXXXX

如果对应用程序 ID 和扩展程序应用程序 ID 都禁用,则启用应用程序组。

enter image description here

如果看起来无效,请更新现有的配置文件!

转到目标并提及您创建的组名

enter image description here

转到键盘扩展并提及相同的组名

enter image description here

现在您已完成所有必需的设置。

在您的项目中将值存储在 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];

用于检索扩展类中的 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"]);

编码愉快!

关于ios - 如何在 iOS 自定义键盘中添加自定义通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35411165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com