问题标签 [share-extension]

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 回答
547 浏览

ios - 如何使用 NSExtensionPrincipalClass 显示 Storyboard UI 以共享扩展

我正在 iOS 应用程序中实现共享扩展功能。我可以在共享扩展的 Info.plist 文件中使用“NSExtensionPrincipalClass”。我添加了自定义 MyViewController 即

我用“MyViewController”创建了故事板,它是示例 UI。

如何从为“MyViewController”创建的情节提要中显示 UI。?

当我运行应用程序时,它会打印“我的视图已加载!!!” 但无法绑定到 UI 即 UI 是空白的。如何从情节提要中为 MyViewController 设置 UI?

0 投票
1 回答
96 浏览

ios - 如何与 ShareExtension iOS 共享现有的主应用程序源代码?

我正在为我的应用程序构建一个 ShareExtension。我已经用主应用的 ViewController 替换了自定义视图 [SLComposeServiceViewController]。

那么在这种情况下,我必须使用共享扩展设置主 ViewController 的目标。我这样做的问题是,我的主应用程序的视图控制器很重,里面有很多代码。我遇到了很多构建时错误,我通过将所有依赖类目标添加到我的共享扩展来手动解决它。

我的问题是,有没有更好的方法来做到这一点?有没有更好的方法通过将整个主应用程序代码添加到扩展目标来与扩展共享所有代码?

提前致谢。

0 投票
2 回答
667 浏览

ios - 无法更改共享扩展导航栏标题颜色(Swift)

我正在尝试使用以下代码更改导航栏标题颜色,但不会更改。色调和背景颜色完美地工作。

我没有更改 App Delegate 中的任何内容。

信息列表

0 投票
1 回答
2594 浏览

ios - 与自定义类而不是 SLComposeServiceViewController 共享扩展

我目前正在使用共享扩展功能。

在这里,当我搜索很多时,似乎总是使用 SLComposeServiceViewController 将带有一些文本内容的图像共享给特定的应用程序。

但我希望自定义 UIViewController 类加载了从照片应用程序中选择的图像,它在打开时与邮件编辑器一样mail extension on share sheet

所以我得到了这个样本,并按照下面的 git hub 链接(第二个)中的说明进行了操作:

是的,它似乎4 years ago如此迁移并转换为Swift 4.1版本。在我修改了这些更改并调试它之后。它不像在 GitHub gif 上那样工作。是的,最初时,当我在共享表上触摸扩展应用程序时,我可以呈现和关闭控制器。但是在我解散并再次尝试呈现它之后,这一次它没有在 GitHub gif 上做出反应。

Martin 只显示和隐藏self.view of UINavigationController Y position value. 一旦我按下了Cancel or save栏按钮,然后我尝试在共享表上通过扩展触摸打开它,它不起作用,也没有反应。

这里是来源NSExtensionPrincipalClass - EntryViewController

如何在上述尝试中查找和修复问题,或者如何进行自定义 UIViewController 布局而不是使用SLComposeServiceViewController

0 投票
1 回答
3034 浏览

react-native - 分享扩展反应原生 - 博览会

我使用expo创建了一个 react-native 应用程序。现在我正在寻找应用程序的共享扩展,以将 CSV 数据从电子邮件附件导入到我的应用程序。

我已经尝试过npm 包,但这对我不起作用(我无法在 Xcode 中使用该 npm 包构建我的项目)

我认为 react-native 或 expo 没有任何共享 API

在这张图片中,您可以看到他如何选择将数据导入应用程序。

我知道如果没有共享扩展 API,我认为 react-native 和 Expo 都没有用,因为您可以创建应用程序但不能扩展它。

寻找解决方案或任何其他替代解决方案。

0 投票
1 回答
691 浏览

ios - 将默认数据库路径更改为组路径后,iOS RealmSwift 不会更新模型

我已经在我的应用程序中使用领域一段时间了。现在我已经向应用程序添加了共享扩展,我注意到我需要为组子目录定义领域默认文件路径,以便我可以从应用程序和扩展程序访问同一个数据库。我搜索了几次,我在这里找到了最好的解决方案,并在这里帮助下。

这是我的 AppDelegate 文件

另外,我的模型类是

为了首先测试我的应用程序,我使用默认领域文件路径使用模型,然后我取消注释其中一个migrateRealm()configRealm()任何方法都不能正常工作,在取消注释第一个之后,我可以登录(创建用户实例)和重新启动应用程序后,它会正确读取用户数据,但消息根本不会出现在应用程序中,这意味着在读取/写入它们时存在问题,取消注释时configRealm应该只更改领域路径并且不要迁移旧数据,该应用程序仍然向我显示旧消息,但它不会加载用户,这意味着我的登录状态在重新启动后消失了,而且如果我更新消息属性,使领域更改消息模型属性,它引发此错误并且应用程序崩溃:

* 由于未捕获的异常“RLMException”而终止应用程序,原因:“尝试在写入事务之外修改对象 - 首先在 RLMRealm 实例上调用 beginWriteTransaction。” *首先抛出调用栈

这个错误表明我在领域写闭包之外进行更新操作,但我的代码在更改路径之前运行良好,而且我确实在写块内编写了更新命令,如您在此处看到的,这是我的消息更新方法

我不知道是我弄错了还是领域问题或XCode问题(我使用的是测试版)此刻非常困惑

我使用 Realm 3.7.5 XCode 10 Beta

0 投票
1 回答
293 浏览

ios - iOS 共享扩展中的 API 请求立即失败

嗨,我正在使用共享扩展程序使用 API 请求(Alamofire)将一些数据发布到我的服务器,问题是请求立即失败,我不知道如何使它工作,我阅读了一些我必须阅读的文章使用 URLSession 在后台发送请求,但我找不到任何关于如何使其与 alamofire 一起使用的示例,这是我在共享扩展 ViewController 中的代码:

MessageHTTPHelper.submitMessage是我定义的一个辅助函数,它在主应用程序中完美运行我不关心响应,我只想发送请求而没有任何回调,你能给我一个在 iOS 共享中发送请求的例子吗扩大?

0 投票
1 回答
454 浏览

ios - 将 Firebase Crashlytics 添加到 iOS 共享扩展的问题

我正在尝试添加 Firebase 以收集分析事件和崩溃到 iOS 共享扩展。一切都在主应用程序中完美运行,但在共享扩展中却没有。我设法找到了这种初始化方式:

Analytics.logEvent完美运行,我可以在 firebase 控制台中看到事件,但没有收集崩溃。

此外,xcode 管理器会定期收集以下崩溃:

在此处输入图像描述

谁能说出导致 Crashlytics 收集崩溃的原因和方法?

0 投票
2 回答
751 浏览

ios - 在发布模式下部署后应用组无法正常工作

我正在开发一个离子 iOS 应用程序。我在应用程序中有一个共享扩展,用于在离子应用程序和我的 iOS 共享扩展之间共享信息,我一直在使用应用程序组来检索值。

当部署在调试模式下发生时,应用程序可以正常工作。在发布模式下,用户默认值不适用于共享扩展。

我有已启用应用程序组的分发证书。所有其他配置看起来都很好。

尽管我没有看到任何相同的答案,但还有另一个类似的问题被问到。

iOS 共享扩展在部署后不起作用

0 投票
8 回答
10158 浏览

ios - 'sharedApplication' 不可用:在 iOS(应用程序扩展)上不可用 - 在适当的情况下使用基于视图控制器的解决方案

我在共享扩展中使用以下 pod。编译器一直显示错误:sharedApplication' 不可用:在 iOS 上不可用(应用程序扩展) - 在适当的情况下使用基于视图控制器的解决方案。在 [UIApplication sharedApplication] 行的每个库中

  1. 我在共享扩展目标中安装了所有库。

  2. 我的项目中有四个目标,包括 Share-Extension,并且我为每个目标设置了“AppExtension flag is NO”。仍然出现错误。

目标 -> 构建设置 -> 仅需要 AppExtension-Safe API -> 否

我的播客文件: