OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 IOS 操作扩展中托管应用向应用扩展发送数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 05:16
标题: ios - 如何在 IOS 操作扩展中托管应用向应用扩展发送数据

我已经完成了示例操作扩展应用程序。无法获取主机应用请求数据。我认为此代码存在问题。

主机应用请求代码

  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-推荐答案


开启App Groups并使用NSUserDefaults

  1. 打开应用组并在主机目标和扩展目标功能中添加组名称

  2. 在宿主应用源中输入集合数据

<上一页> //使用我们的组用户默认值 NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName"group.com.organization.ProductName"]; //设置问候语 [默认 setObject"username"forKey"username"]; [默认 setObject"password"forKey"password"]; //同步 [默认同步];
  1. 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4