我已经完成了示例操作扩展应用程序。无法获取主机应用请求数据。我认为此代码存在问题。
主机应用请求代码
NSDictionary *request = @{@"username”“username”,@“password”“password”};
UIActivityViewController *extensionController = [[UIActivityViewController alloc] initWithActivityItems[request] applicationActivities:nil];
extensionController.popoverPresentationController.sourceView = self.view;
[self presentViewController:extensionController animated:YES completion:nil];
应用扩展代码
NSExtensionItem *inputItem = self.extensionContext.inputItems[0];
NSItemProvider *itemprovider = inputItem.attachments[0];
[itemprovider loadItemForTypeIdentifierNSString *)kUTTypePropertyList options:nil completionHandler:^(NSDictionary *item, NSError *error) {
NSDictionary *results = (NSDictionary *)item;
NSLog(@“Host app Request Data=%@",results);
}];
我不确定上面的代码有什么问题,谁能帮助我..谢谢
Best Answer-推荐答案 strong>
开启App Groups并使用NSUserDefaults
打开应用组并在主机目标和扩展目标功能中添加组名称
在宿主应用源中输入集合数据
<上一页>
//使用我们的组用户默认值
NSUserDefaults *defaults = [[NSUserDefaults alloc]
initWithSuiteName"group.com.organization.ProductName"];
//设置问候语
[默认 setObject"username"forKey"username"];
[默认 setObject"password"forKey"password"];
//同步
[默认同步];
- SomeExtension.m
<上一页>
//使用我们的组用户默认值
NSUserDefaults *defaults = [[NSUserDefaults alloc]
initWithSuiteName"group.com.organization.ProductName"];
//获取问候语
NSString *username = [默认 stringForKey"username"];
NSString *password = [默认 stringForKey:@"password"];
//检查问候语是否为空
NSLog(@"用户名 = %@/密码 = %@", 用户名, 密码);
关于ios - 如何在 IOS 操作扩展中托管应用向应用扩展发送数据,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28403395/
|