问题标签 [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 回答
541 浏览

ios - 在共享的 NSUserDefaults 中存储 bool 总是返回 false

我已经为我的应用程序设置了应用程序组,以便我可以NSUserDefaults在应用程序和键盘扩展中访问它们。我有一个问题。我可以成功地将布尔值写入默认值,但是当我在键盘中访问它时,它总是返回 false。我知道它用于密钥的 id 和套件名称是完全相同的。我验证了确实为应用程序和键盘启用了应用程序组,并且套件名称与应用程序组标识符完全匹配。false从键盘内访问时,什么可能导致它始终存在?

在应用程序中:

我确实确认下次启动应用程序时它确实成功设置为 YES:

然而在键盘中它总是错误的:

0 投票
0 回答
1291 浏览

ios - 向 iOS 应用程序添加应用程序组功能

我需要为我的一个应用启用应用组功能。我从 Xcode 创建了一个新组并选择了它,它已自动将组功能添加到我的 App ID 中。但我仍然看到两个错误。

在此处输入图像描述

当我在苹果网站上查找我的应用 ID 时,我可以看到应用组已启用,并且相应的组名称也正确。

这些如何解决?

0 投票
1 回答
1376 浏览

ios - iOS 中的应用组和 iCloud

我熟悉 iCloud 同步,但我是应用程序组的新手。这个问题可能有一个简单的答案,但我还没有找到。基本上,我有一个集成了 iCloud 的应用程序,现在我想尝试添加一个今天的扩展。我目前正在使用 Core Data 作为后端,并希望继续这样做。但是,根据我的阅读,我需要通过定义一个“应用程序组”将我的数据存储移动到共享位置。(http://blog.sam-oakley.co.uk/post/92323630293/sharing-core-data-between-app-and-extension-in-ios-8访问 iOS 8 扩展中的核心数据 SQL 数据库(共享应用程序和小部件扩展之间的数据)) 我无法确定此位置是否使用 iCloud 同步。或者,因为我正在使用 iCloud,我是否需要一个应用程序组?我感谢任何和所有的帮助/建议。

0 投票
6 回答
27772 浏览

ios - 添加应用程序组后 Xcode 显示警告(将“应用程序组”权利添加到您的应用程序 ID)

我在 Xcode 中添加了一个 App Group 后,它会显示一个警告:

将“App Groups”权利添加到您的 App ID
将“App Groups 容器”权利添加到您的 App ID

在警告之前有一个像这样的加载微调器:

添加

完成加载后,我收到以下警告:

剩余的警告

我能做些什么来纠正这两个错误的步骤?如果我是对的,它已经添加到我的 App ID 中。

0 投票
0 回答
223 浏览

ios - 在支持 iOS7 的同时在应用程序和扩展程序之间共享大型资产

在其基本级别上,我的应用程序可以被描述为大型(61M)只读 sqlite 数据库的查看器。我正在开发一个今天的扩展,它需要访问这个数据库,但我正在努力寻找一种方法来共享这些数据。

这些是我所知道的选项,它们存在阻止我使用它们的问题:

  • 在启动时将数据包中的数据复制到应用程序组 - 这使我的应用程序的存储需求增加了一倍。
  • 不要将数据库存储在应用程序包中并下载它 - 这会造成糟糕的首次启动体验
  • 创建一个框架并将其存储在框架中 - 这使我无法支持 iOS7

是否有解决这些问题的方法或方法?

0 投票
1 回答
1493 浏览

ios - 无法写入 containerURLForSecurityApplicationGroupIdentifier?

在下面的示例中,我在写入时没有错误,但在读取时,数据长度为 0。为什么我不能写入共享容器?

0 投票
3 回答
2606 浏览

ios - openParentApplication:reply 是否需要启用 App Groups 功能?

我正在开发一个在手表和 iOS 父应用程序之间进行通信的应用程序。它通过打开 WatchKit 扩展将数据发送到父应用程序。我了解openParentApplication:reply,调用时会从 Apple Watch 打开 iPhone 应用程序。之后,application:handleWatchKitExtension:reply在应用程序的委托中调用。

从那里你可以打开一个通知到视图控制器:

“aName”是您可以在视图控制器中打开的内容:

这是我的 WatchKit 扩展中的接口控制器的代码:

我的问题是,比如说我点击了手表模拟器上的红色按钮。该操作将被调用,并在该操作中调用openParentApplicationWithColor("Red")它应该调用WKInterfaceController.openParentApplication(["color": color], reply: { (reply, error) -> Void in })的操作是在模拟器上打开父应用程序。它在后台打开它。因此,我手动打开它。当我手动打开应用程序时,背景是完全黑色的。
我怀疑问题是我没有在“功能”选项卡中启用“应用程序组”。为此,您需要加入开发人员计划。我应该加入它来做到这一点,还是还有其他问题?我正在使用 Xcode 6.2 Beta 3。提前谢谢大家!

0 投票
1 回答
1931 浏览

xcode - 应用程序组容器是否应该具有团队标识符?

我正在构建一个带有嵌入式共享扩展的 Mac 应用程序,并且我正在尝试配置应用程序组以在它们之间共享数据。在 Xcode 的 Capabilities 下,我打开了 App Groups 并在父应用和共享扩展中设置了一个值:$(TeamIdentifierPrefix)com.company.App。当我运行父应用程序时,它会创建一个文件夹:Library/Group Containers/com.company.App(没有团队 ID)。当我运行扩展时,它会创建一个文件夹:Library/Group Containers/ TEAMID .com.company.App团队 ID。

为什么这两个可执行文件会创建不同的容器,如何为两者定义相同的容器?

0 投票
0 回答
128 浏览

ios - 为什么移动核心数据持久存储时多对多关系消失?

我有一个使用 Core Data 来持久化信息的应用程序。我正在向我的应用程序添加一个共享扩展,这将需要访问相同的数据,因此我需要将我的持久存储从我的应用程序的沙箱移动到应用程序组沙箱中。正如Update Core Data store location to support App Groups中所建议的那样,我正在使用迁移来做到这一点。问题是我的多对多关系在迁移过程中消失了。

我能够从具有核心数据的基本单视图应用程序开始重新创建问题。连接一个按钮以在默认的 managedObjectContext 中创建对象(我必须添加一个队列),并显示一条状态消息:

在模拟器中运行时,我可以在命令行上使用 sqlite3 来检查 SQLite 数据库——特别是 Core Data 创建的 Z_1TOPICS 链接表——在添加这些对象后:

一切看起来都差不多。接下来,设置第二个按钮以将持久存储迁移到 App Group 目录:

大部分代码直接来自上面链接的问题。Books 和 Topics 之间的关系没有迁移,但对象本身是:

实际上,在运行所有这些之前使用“-com.apple.CoreData.SQLDebug 1”启动参数,我可以验证 Core Data 正在写入 ZTOPICS 和 ZBOOKS 表,但从未写入 Z_1TOPICS 表。

所以现在我被困住了。我什至不确定我还能做些什么来调查这个问题——也许执行自定义迁移以便我可以观察(甚至手动执行)关系迁移?我可能只是尝试手动移动持久性存储文件(即使这是不可以),因为我不确定我还能做什么。谢谢你的时间。

0 投票
1 回答
719 浏览

ios - 在 iOS8 上将所有数据存储在 App Groups 的容器区域中是否有任何弱点?

我正在考虑将所有数据存储在 App Groups 的容器区域中,以创建支持 AppExtensions 的应用程序。

在 iOS8 上将所有数据存储在 App Groups 的容器区域中是否有任何弱点?我应该在 App Group 的容器区域中存储有限的数据吗?

应用扩展编程指南:处理常见场景