问题标签 [ios-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
719 浏览

objective-c - 使用 IOS 共享扩展启动应用程序

我正在使用 IOS8 共享扩展,这里需要的是当用户在应用扩展中从 safari 中选择帖子时启动您的应用。

我尝试使用openURL它,但是[UIApplication sharedapplication]在扩展中不起作用。

0 投票
3 回答
364 浏览

objective-c - 访问 Watchkit 扩展主机 mainBundle 的内容

我正在编写一个 WatchKit 扩展,我想从主机应用程序的[NSBundle mainBundle]. 我试过[NSBundle bundleWithIdentifier:]了,但只是返回nil

我有几个潜在的解决方法,但没有什么比“只需从主机读取您需要的内容”那么简单的了mainBundle

有没有办法做到这一点?

0 投票
0 回答
1118 浏览

ios - 使用 Gmail 共享扩展程序共享附件

我正在尝试使用Gmail sharing extension. 一切正常,除了收到格式错误文件的电子邮件收件人。

示例项目可以从这里下载。

使用iOS 8.3, Xcode 4.6.3,Gmail 4.0

共享代码如下所示:

这显示了这样的活动表:

UIActivityViewController 工作表

按 Gmail 按钮显示:

附加图片的 Gmail 扩展程序

电子邮件是这样到达的:

收到的电子邮件显示格式错误的附件 无法打开图片

但是,如果我尝试使用 iOS 的 Mail.app,一切都会好起来的:

带有附加图像的 Mail.app 收到的电子邮件显示正确的附件

0 投票
1 回答
235 浏览

ios - iOS 扩展在从应用商店更新后添加新的 NSUserDefaults 问题

我的申请已获得授权。作为回报,如果我登录,我会收到一个存储在NSUserDefaults.

当前应用程序如何工作:当我按下登录按钮时,应用程序将用户名和登录信息发送到服务器,如果成功,应用程序将获得一个令牌。

我有一个带有令牌和其他接收到的信息方法的保存用户,其中包含:

应用程序中的令牌在此阶段一切正常。

对于 iOS 扩展,我想使用这个令牌来检查用户是否登录。我在上面的保存用户方法中添加了下一行:

如您所见,我还将令牌保存到共享用户默认值,并且可以从这个新存储中简单地请求令牌。

问题:

当我第一次测试它时,它会在我上传到商店之前根据需要工作。我在 App Store 上有一个版本,它不包含 iOS 扩展和NSUserDefaults应该包含令牌的新共享存储。

在我将版本更新为新版本并下载后,我在第一个扩展程序处打开,但它向我显示错误,该用户尚未登录,这似乎是正确的,因为共享NSUserDefaults存储没有令牌。在我当前的工作流程中,按下登录按钮后可以保存令牌。但是从没有扩展的版本更新到有扩展的版本从 App Store 更新后,我的用户当然仍然登录该应用程序,因为原始NSuserDefaults包含令牌,但新共享NSUserDefaults仍然没有获得令牌,因为我们需要注销然后登录才能制作这行得通。

我的问题是如何在不注销的情况下将令牌设置为新共享 NSUserDefaults然后重新登录。当然,当我登录时,它开始从更新中调用所有新行,并且我为 iOS 扩展添加了我的新共享。 NSUserDefaults因此,在新登录后它将包含令牌,如果打开扩展它可以工作,但首先在 App Store 更新版本显示用户未登录错误后立即启动 - 这是正确的,因为新添加了共享 NSUserDeafults

0 投票
2 回答
414 浏览

ios - MMWormwhole 与后台应用程序通信

我正在开发 Apple Watch 的扩展程序,我需要与包含的应用程序进行通信。

MMWormwhole 似乎是这种交流方式的好方法。问题是我的消息在后台运行时没有传递到包含的应用程序,当它从openParentApplication.

有什么方法可以让 MMWormwhole 在后台模式下接收消息?

0 投票
5 回答
8763 浏览

ios - 始终为嵌入式二进制签名证书“​​签名即席代码”

我有两个目标,主要目标和扩展目标。现在,当我尝试归档应用程序时,Xcode 失败并出现以下错误:

所以我Build Settings - Code Signing一次又一次地检查以确保Embedded binary is signed with the same certificate as the parent app

在此处输入图像描述

在此处输入图像描述

或如下设置:

在此处输入图像描述

他们都失败了同样的原因。无论我如何更改代码签名设置,Embedded Binary Signing Certificate始终是(Ad Hoc Code Signed).

在这篇文章之前,我已经阅读了这些链接:

Xcode6:嵌入式二进制文件未使用与父应用程序相同的证书进行签名

嵌入式二进制文件未使用与父应用程序相同的证书进行签名,但它们是相同的

http://aplus.rs/2014/embedded-binary-is-not-signed-with-the-same-certificate-as-the-parent-app/

https://developer.apple.com/library/ios/technotes/tn2407/_index.html#//apple_ref/doc/uid/DTS40014991-CH1-VALIDATION_ERRORS-EMBEDDED_BINARY_S_BUNDLE_IDENTIFIER_IS_NOT_PREFIXED_WITH_THE_PARENT_APP_S_BUNDLE_IDENTIFIER_

谢谢你的帮助。

0 投票
1 回答
8755 浏览

iphone - 如何添加此分享按钮?IOS8 与 swift

我希望在我的应用程序中有一个按钮,当它被按下时,这个(见下图)会弹出。我怎么做?我不想创建自定义共享扩展,我只想要默认的?我用什么代码?所有在线教程都在objective-c中。请迅速给出答案。

图片:http: //9to5mac.com/2014/06/30/hands-on-1password-beta-shows-off-ios-8s-touch-id-extensions-apis-video/#jp-carousel-330420

到目前为止,这是我的代码,但我收到一个错误,即 UIBarButtonItem 不能转换为 UIVIew 为什么?动作连接到导航栏按钮项?

0 投票
1 回答
178 浏览

ios - 有没有办法在不安装容器应用程序的情况下安装 iOS 扩展?

我只想实现今天的扩展,也就是说,为此我不想为此创建应用程序。有没有办法只安装今天的扩展,而不安装容器应用程序?请帮忙。

0 投票
0 回答
957 浏览

ios - 不允许在框架中引用 UIApplication?

我将一些常见任务包装在我的框架中的函数中。其中一些任务需要做一些事情,UIApplication.shareApplication()例如:

最初,我UIApplication.shareApplication()直接在我的函数中使用,但因为我在 Xcode 中收到警告,所以将其拉到参数中。警告仍然存在,那么这个错误到底想告诉我什么?

warning: linking against dylib not safe for use in application extensions

0 投票
2 回答
1288 浏览

ios - 与地图共享扩展

我想让我的应用程序共享地图位置,但我不知道在我的应用程序中启用它的关键是什么,所以如果有人为地图实现共享扩展,请帮助我。

我看到下面的链接但无法理解。 iOS 在地图上添加共享扩展