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

ios - 卸载应用程序不会删除应用程序组数据。我是否必须手动删除应用程序组容器及其内容?

我创建了一个Today Extension首次在 iOS 8 中引入的。Today extension为了在和它之间共享数据container App,我定义了一个app group,并将它们绑定到这个组。(实际上我添加了一个嵌入式框架也可以在双方重用代码。)

此方法的详细信息在Apple 的文档中进行了描述。

我创建了一些核心数据模型并将其作为 sqlite 存储在组容器中。然后一切都按照我的想法进行。

但是,当我卸载容器应用程序时,仍然有共享容器,它是我 iPhone 上的内容。我认为当应用组的最后一个成员被卸载时,这个容器应该被自动删除。就我而言,应用程序组的成员仅附带一个应用程序,因此,卸载此应用程序应该必须清除共享容器。

我错了吗?

附言。我找不到以用户身份删除此共享容器的方法。只有有权访问 app-group 的开发人员才能通过编程删除此容器。

0 投票
3 回答
4583 浏览

ios - NSUserDefault 无法在 iOS8 的扩展中保存和加载

我需要将数据保存到NSUserDefault我的 iOS 自定义键盘中。我已在开发人员门户和XCode.

这是我使用 UISwitch 保存价值的方法

这就是我在 KeyboardView 中加载值的方式。

它不起作用,也不会加载价值。

如何保存和加载数据?

0 投票
2 回答
9657 浏览

ios - 使用 iOS 8 应用组在两个应用之间共享数据(使用 NSUserDefaults)

我想知道我们是否可以使用新的 iOS 8 功能在应用程序之间共享数据:应用程序组(使用 NSUserDefaults) - 或者应用程序组是否仅在主应用程序及其扩展程序之间共享数据?

我实际上在应该在它们之间共享数据的两个应用程序上启用了应用程序组功能(它们属于同一家公司)。他们也有相同的应用程序组(如 group.com.company.myApp)。

这是第一个的代码(在 Swift 中)

这是第二个的代码(在Objective-C中)

可悲的是,布尔总是返回零。

如果有人有解决方案:)

谢谢

0 投票
2 回答
2057 浏览

ios - 带有 App Group 的 NSUserDefault 在 iOS 8 Beta3 中不起作用

我必须将Boolean价值保存到NSUserDefault我的应用程序中custom keyboard extension并与应用程序组共享。

我的代码在iOS 8Beta1 中工作。

但不在 iOS 8 Beta3 中。当我从中检索Boolean值时NSUserDefault,它什么也不返回,我无法从自定义键盘扩展加载。

我也试过initWithSuiteNamein NSUserDefault。我只有一个解决这个问题或 iOS 8 Beta3 的错误吗?

0 投票
1 回答
476 浏览

ios - 在 iOS 8 beta 中开发应用扩展的最佳实践

我想知道现在在 iOS 8 测试版期间开发应用程序扩展的最佳实践是什么。我的意思是,由于 XCode 5 不支持应用程序扩展所需的权利和目标(应用程序组,小部件目标等)并且 XCode 6 不支持提交到应用商店,有没有一种好方法可以确保我们可以开发和部署到应用商店,编译旧项目等?

当然有只创建一个分支的 SCM 方法,但我想知道在 XCode 中是否有任何方法可以解决这个问题?

0 投票
1 回答
2312 浏览

core-data - 如何从扩展 iOS 8 获取 NSManagedObjectContext 实例

我创建了键盘扩展,并且需要访问 CoreData。它适用于容器应用 AppDelegate。但是从扩展我无法访问数据。首先,我需要 NSManagedObjectContext 的实例,而我没有。

那么我怎样才能通过使用 AppGroup 或其他东西来获得这个上下文呢?

顺便说一句,当扩展程序启动时,它会在日志中打印下一条消息:

它有什么问题?

0 投票
2 回答
4928 浏览

objective-c - 无法在 iOS 8 上将文件保存到应用程序组

我尝试使用- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier在 iOS 8 b4 上的容器应用程序和扩展程序之间保存/加载文件。

这是代码:

我将此代码放在扩展(自定义键盘)和容器应用程序中。当我在 iOS Simulator 上运行它时,它们都可以成功保存文件。但是在 iOS 设备上,扩展程序无法保存文件(而容器应用程序仍然可以)

当扩展程序尝试保存文件时,控制台显示可可错误 513。

2014-07-31 01:37:49.316 TestExtention[2359:288820] 错误域 = NSCocoaErrorDomain 代码 = 513“操作无法完成。(可可错误 513。)”用户信息 = 0x15df2100 {NSFilePath =/private/var/ mobile/Containers/Shared/AppGroup/4FA2DA5E-89C3-4BC3-AA5B-DD869827C5E7/Library/Caches/test.txt, NSUnderlyingError=0x15df1d90 "操作无法完成。操作不允许"}

这是 iOS 8 扩展的限制吗?

0 投票
1 回答
1139 浏览

ios - 在应用扩展和容器应用之间共享数据

我正在尝试在应用扩展程序和我的容器应用程序之间共享数据。我在容器应用程序中设置了一个应用程序组,并在我的应用程序扩展中引用了它。

当我的应用程序扩展被访问时,我将一个对象保存到 NSUserDefaults

在容器应用程序中 - 当它启动时,我设置了一个观察者:

但是,如果我的容器应用程序被发送到后台,则永远不会调用此通知 - 所以我无法知道用户默认值何时更改。

如何获取容器应用程序中的信息(为了在内部更新)?

0 投票
2 回答
1749 浏览

objective-c - 在配套应用程序和应用程序扩展之间的应用程序组中并不总是保留值

有时,但并非总是如此(我已经让这个工作了一段时间),应用程序/扩展程序进入我无法读取我的应用程序组中在我的配套应用程序和我的应用程序扩展程序之间设置的标志的状态。不知道它是如何进入这种状态的,也不知道为什么这些值不同,但对于我的应用程序来说,这些始终保持同步至关重要。

配套应用 viewDidLoad

应用扩展 viewDidLoad

控制台输出

在我的配套应用程序进入后台之前,我也会同步。我在门户等中设置了我的应用程序组。

我究竟做错了什么?

编辑

显然其他人也有这个问题: https ://devforums.apple.com/message/977151#977151

“我认为这目前非常有问题。

有时数据共享工作,然后发生变化,突然间小部件无法再看到共享数据(在模拟器和设备上)。

烦人,希望在下一个测试版中更可靠一点!”

编辑 2 看起来另一个人也报告了这个确切的问题:

“我也注意到了同样的事情。这不仅发生在 NSUserDefaults 上,还发生在容器文件夹中的所有文件上。键盘扩展在使用键盘一段时间后突然失去对容器文件夹的读/写权限。”

编辑 3 更多证据:https ://devforums.apple.com/message/1028078#1028078

升级到 beta 3 后,我注意到有时键盘无法打开数据库,因为它无法访问数据库文件。键盘之前已经能够访问该文件。

在此处输入图像描述 在此处输入图像描述

编辑 4

似乎这可能是因为键盘丢失了RequestsOpenAccess标志。但我无法重现它,我也无法确定。

编辑 5

似乎其他人在 iOS8 GM 版本中报告了这一点:

这个问题在我的 GM 中仍然存在。它似乎与键盘崩溃有关..但键盘和包含应用程序之间似乎存在一些争论,即谁以什么顺序创建套件。我认为这个问题是在苹果的一端。相信我,我希望这是我的错,但我花了无数个小时反复试验。无论我在代码中做什么并使用 NSLog 进行验证,它最终都会处于这种状态。希望有人能找到灵丹妙药。:S

有人解决了这个问题吗?

0 投票
1 回答
8909 浏览

appium - 查找 iOS 应用程序的元素 ID、名称、路径

我正在使用 Appium 来自动化我的 iOS 应用程序。问题是,iOS 记录器太慢了,这让我的脚本编写过程变慢了。我可以手动编写脚本,但我需要对象/元素名称、id、xpath 等。有没有免费工具可以告诉我 iOS 应用程序的元素 id、名称、Xpath?

-维奈