Я работаю с пользовательским расширением клавиатуры. что почти сделано, но я просто сталкиваюсь с проблемой с устройством, когда я обмениваюсь данными с расширением и моим хост-приложением, которое не ворует в устройстве, но то же самое, что работает в симуляторе. Мой код выглядит следующим образом:Общайтесь с расширением Custom Keyboard с Host App не работает в устройстве, но работает в симуляторе
HostApp Посмотреть контроллер:
- (void)viewDidLoad {
_defaultvalue = [[NSUserDefaults alloc] initWithSuiteName:@"group.myapp.myappname.targetKeyboard"];
[_defaultvalue setBool:YES forKey:@"Layout"];
[_defaultvalue synchronize];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)RightAction:(id)sender {
_defaultvalue = [[NSUserDefaults alloc] initWithSuiteName:@"group.myapp.myappname.targetKeyboard"];
[_defaultvalue setBool:YES forKey:@"Layout"];
[_defaultvalue synchronize];
}
- (IBAction)leftAction:(id)sender {
_defaultvalue = [[NSUserDefaults alloc] initWithSuiteName:@"group.myapp.myappname.targetKeyboard"];
[_defaultvalue setBool:NO forKey:@"Layout"];
[_defaultvalue synchronize];
}
И я проверить это BOOL
значение в моей цели расширения, используя следующий код и изменение раскладки клавиатуры в соответствии с моей потребности:
-(void)LoadKeyboardview
{
_defaultvalue = [[NSUserDefaults alloc] initWithSuiteName:@"group.myapp.myappname.targetKeyboard"];
if([_defaultvalue boolForKey:@"Layout"])
{
self.ObjKeyLayout=[[[NSBundle mainBundle]loadNibNamed:@"keyboardLayout" owner:nil options:nil]objectAtIndex:0];
[self addGesturToKeyBoard];
self.inputView =self.ObjKeyLayout;
}
else{
self.ObjKeyLayout=[[[NSBundle mainBundle]loadNibNamed:@"leftLayout" owner:nil options:nil]objectAtIndex:0];
[self addGesturToKeyBoard];
self.inputView =self.ObjKeyLayout;
}
}
Этот же код хорошо работает в симуляторе ios8 устройства iPhone5. пожалуйста, есть ли еще код, необходимый для этого, я прочитал в apple doc, который сказал, что NSUserDefaults
initWithSuiteName поможет мне в этом благодарю вас.
UPDATE:
Я уже установили RequestsOpenAccess в PLIST и в Настройка-> клавишника customkeyboar-> Полный доступ на
Мой Plist продление:
@quocViet я добавил свой ответ, как я решил это, пожалуйста, подумайте –