问题标签 [ios-app-group]

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 投票
2 回答
1676 浏览

ios8 - IOS 8 App Group 访问键盘扩展中的容器应用程序文件

我想通过应用程序组功能访问我的自定义键盘扩展中的容器应用程序文件。为此,我在我的 Apple 门户上创建了组 ID,并将其添加到我的两个目标(键盘和应用程序)中,我已通过NSUserDefaults其工作成功访问数据很好,我可以访问数据。但我坚持从容器应用程序获取文件我有访问 URL

NSURL 以下列方式返回 URL。

但此路径无法访问 Container 源包中的任何文件。如何访问容器源文件

0 投票
1 回答
1904 浏览

ios8 - 如何在 ios 应用程序扩展中上传

如何在 ios 应用扩展中使用 AFNetworking 上传?

苹果的例子使用了 NSURLSession,你能解释一下它是如何工作的吗?

}

如何使用此方法或使用 AFNetworking 或使用我的应用程序上传此数据?

0 投票
3 回答
6912 浏览

ios - iOS8无法在应用组共享容器位置下创建文件夹/文件

我正在使用以下代码在共享容器路径下创建文件夹/文件。这将有助于应用扩展和包含应用的扩展都可以访问数据。

获取共享容器 url 位置的代码:

创建目录的代码

上面的代码没有引发任何错误,它说成功,但我无法在共享容器路径下找到文件夹。任何可能会受到赞赏的想法

0 投票
2 回答
4148 浏览

sqlite - iOS 8 - 为 App Group 创建 SQLite 数据库

我正忙着为我的应用程序创建一个 iOS 8 Today 扩展。我想从我的扩展访问我的 SQLite(不是核心数据)数据库。在网上搜索了一下,我发现我需要一个 App Group。所以我为我的应用创建了一个应用组,名为“group.AppName”。

使用以下代码,我在 NSDocumentDirectory 中创建了一个 SQLite 数据库。但是 App Extensions 不能访问 NSDocumentDirectory。这就是为什么我想将 SQLite 数据库保存在我的 App Group 中。

我不知道如何在我的 App Group 中创建这个数据库,所以我可以从我的 Today 扩展中访问该数据库。

有人可以帮我解决这个问题吗?那很好啊!

0 投票
1 回答
6585 浏览

ios8 - 从 Today Extension 访问 app Documents 文件夹

我已通过 userDefaults 在我的应用程序及其 Today Extension 之间成功共享数据,但在涉及应用程序 Documents 文件夹中的实际文件时遇到了麻烦。

当我在我的应用程序中使用此代码时:

它返回:

但在扩展中它返回:

显然,这些文件不存在。

我在应该使用的地方读到:

但它返回:

这也不起作用。

如何让我的 iOS 8 Today Extension 读取位于 Documents 中的容器应用程序文件?

谢谢!

0 投票
1 回答
422 浏览

ios - iOS 8 App Group 目录的预期生命周期是什么?

我开始研究 iOS 8 扩展,我发现 App Groups 是提供在主机应用和扩展之间传递数据的机制。这种数据共享可以通过 NSUserDefaults、平面文件和核心数据来完成。当您设置应用程序组时,会在应用程序沙箱之外的设备/模拟器上创建一个新目录。可以从主机应用程序和扩展程序访问该目录,并且来自同一帐户/团队的其他应用程序似乎也可以访问此目录。

鉴于这一切,我想知道共享 App Group 目录及其内容的生命周期是什么。我一直找不到任何解释这一点的 Apple 文档。在模拟器上进行的一些经验测试表明,当安装了多个访问应用程序组的应用程序时,当最后一个具有该应用程序组权利的应用程序被删除时,该目录也会被删除。这是我期望看到的。我想确认一下情况就是这样。此外,系统是否有可能在低磁盘条件下清除此位置?

我正在尝试确定将我的应用程序的主要核心数据数据库存储在此应用程序组位置是否“安全”,或者我是否应该在那里制作数据副本。我不希望我的主数据库意外地被系统从我下面清除。

另外,App Group 目录的意图是什么?它们应该仅用于与扩展共享数据,还是用作来自同一开发者帐户/团队的应用程序之间的通用数据共享机制?

0 投票
2 回答
2039 浏览

objective-c - 检查自定义键盘扩展的完全访问权限

我需要检查自定义键盘扩展的完全访问权限。我找到了这个链接。

如何检查 iOS 8 中是否启用了“允许完全访问”?

它说我们可以检查应用程序组。我有一个名为“group.TTT.TGroup”的应用程序组。它在主应用程序和自定义键盘之间共享访问权限。

然后,我像这样检查。问题是我总是可以访问它(总是有数组或错误= null)。是因为我共享相同的数据吗?但是,如果我的应用程序使用另一个应用程序组并且扩展程序使用其他应用程序组,我肯定无法访问它。我可以知道该怎么做吗?

0 投票
1 回答
145 浏览

ios - 无法为照片编辑扩展添加 TTF 字体

我正在尝试使 TTF 字体文件可用于我的主应用程序以及我的照片编辑扩展程序。但是当我尝试在扩展程序中按名称访问它时找不到该字体,尽管它在主应用程序中有效。

我选择了 TTF 文件并在文件检查器中检查了 AppName 和 AppNameExtension 以将它们都添加到目标中。我确保字体显示在 Extension > Build Phase > Copy Bundle Resources 中。字体名称和扩展名作为“应用程序提供的字体”数组的第一个索引存在于扩展的 Info.plist 中。我用它的正确名称在代码中调用它。同样,它在主应用程序中工作,但不在扩展程序中。

为了使该资源在扩展程序中可用,我是否做错了什么,这在扩展程序中是不可能的,还是我应该报告的错误?

0 投票
2 回答
2521 浏览

ios - NSUserDefaults 线程在 IOS 上的扩展之间共享数据是否安全?

“与包含的应用程序共享数据”下的应用程序扩展文档使用 NSUserDefaults 来执行此操作,并进一步写下

“为避免数据损坏,您必须同步数据访问。使用 Core Data、SQLite 或 >Posix 锁来帮助协调共享容器中的数据访问。”

但是当我查看 NSUserDefaults 的文档时说

“NSUserDefaults 类是线程安全的。”

那么在我的扩展程序和容器应用程序之间使用 NSUserDefaults 时是否需要使用某种锁?

0 投票
1 回答
1194 浏览

ios - 今日 iOS 8 小部件中的音乐播放器控件

我正在尝试实现一个包含音乐播放器控件的示例 iOS 8 Today 小部件,该应用程序是一个启用了背景音频的基本音乐应用程序。

我环顾四周寻找一种通知包含应用程序的方法,但我没有找到任何!

场景基本上是,应用程序处于暂停状态并且在选定的歌曲/专辑上(它可能在某首歌曲上暂停),然后我需要在小部件上显示名称,带有播放/停止/下一步按钮等。

基于Apple的文档,以及描述使用场景的文档: https ://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensibilityPG.pdf

它提到扩展不应该处理任何长时间的执行,并特别指出音频播放是不受支持的情况,因为它需要在扩展之外运行。但它没有提到在这种情况下触发包含应用程序的方法,它只是提到了可以处理大文件下载和在后台唤醒应用程序以调用 handleEventsForBackgroundUrlSession 的 NSURLSession 技术,以及包含应用程序和扩展程序的应用程序组共享功能访问共享数据容器。唯一可行的解​​决方案是 openURL 解决方案,它将强制将整个应用程序置于前台。

我确实为我的演示设置了一个 App-Group,并尝试使用自定义通知调用 NSNotificationCenter,分别在包含应用程序和扩展程序上调用 addObserver/postNotificationName,但它根本不起作用。我什至尝试更改 App-Group 的 NSUserDefaults ,但这在包含应用程序的背景时也不会触发。

以下是一些可能相关的问题,但我没有找到答案:(在应用程序扩展和容器应用程序之间共享数据)---(当应用程序从后台恢复时未发送 NSUserDefaultsDidChangeNotification)---(设置通知来自今日扩展小部件

我认为这可能不可行,但我刚刚发现了一个名为 TapTunes 的应用程序,它最近添加了一个具有类似功能的小部件,包括扩展本身中的所有控件。

谢谢。