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