如何在两个沙盒应用程序之间共享首选项文件?

莱昂内尔(Lionel_A)

在一个项目中,我有一个应用程序和一个作为代理运行的助手。主应用程序用于设置用户首选项,并且可以暂时不使用。通过在启动时启动而启动的帮助程序应用程序使用这些首选项来执行一些日常任务。它读取并更新首选项文件。助手位于“ /Applications/Main.app/Contents/Library/LoginItems”中。如果未对这些应用程序进行沙盒处理,则可以轻松读写位于中的共享首选项文件/Users/username/Library/Preferences/

我试图在辅助应用程序中添加授权密钥com.apple.security.temporary-exception.shared-preference.read-write,该密钥包含一个包含主应用程序首选项文件路径“ / Library/Containers/com.mycompany.MainApp/Data/Library/Preferences/的数组但这根本行不通。对于助手应用程序,首选项文件不存在。

迈克尔瀑布

您需要利用两件事来支持主应用程序和辅助应用程序之间的共享容器和首选项:

安全应用组

为了让多个应用共享一个公共容器,您需要将com.apple.security.application-groups权利(在主应用和助手应用中)设置为一个公共标识符,例如@"com.company.my-app-suite"有关更多信息,请参见将应用添加到组

用户默认套房

根据适用于OS X 10.9基础发行说明

对于属于安全应用程序组的应用程序,NSUserDefaults“套件” API(-initWithSuiteName :、 -addSuiteNamed:和-removeSuiteNamed :)将在该组中的应用程序共享的套件上运行,并存储在组容器中。套件标识符是组的标识符。

因此,您需要在应用程序委托(或类似委托)中执行以下操作:

- (NSUserDefaults *)sharedUserDefaults {
    static NSUserDefaults *shared = nil;
    if (!shared) {
        shared = [[NSUserDefaults alloc] initWithSuiteName:@"com.company.my-app-suite"];
    }
    return shared;
}

[NSUserDefaults standardUserDefaults]在整个两个应用程序中使用它

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OS X的defaults命令如何访问沙盒应用程序的首选项?

来自分类Dev

OS X的defaults命令如何访问沙盒应用程序的首选项?

来自分类Dev

Flutter-如何在共享首选项加载时暂停应用程序?

来自分类Dev

在颤抖中共享首选项停止应用程序

来自分类Dev

如何在两个应用程序之间共享数据

来自分类Dev

如何在两个 asp.net 应用程序之间共享身份验证

来自分类Dev

AngularJS。如何在两个应用程序之间共享单个服务

来自分类Dev

Spring Secure - 如何在两个应用程序之间共享 bcrypt?

来自分类Dev

如何在沙盒macOS应用程序和脚本(或程序)之间进行通信

来自分类Dev

如何删除Mac应用程序的首选项?

来自分类Dev

如何使用OS X API查找应用程序首选项文件夹?

来自分类Dev

如何在Grails应用程序中实现用户首选项

来自分类Dev

如何在我的应用程序中使用首选项显示个人资料图片

来自分类Dev

在两个应用程序之间共享Sidekiq

来自分类Dev

在两个应用程序之间共享界面?

来自分类Dev

在两个应用程序之间共享界面?

来自分类Dev

在两个节点应用程序之间共享会话

来自分类Dev

在两个MVC应用程序之间共享缓存

来自分类Dev

在两个节点应用程序之间共享会话

来自分类Dev

在两个Laravel应用程序之间共享事件

来自分类Dev

在函数式反应式编程中,如何在应用程序的两个部分之间共享状态?

来自分类Dev

如何在Ubuntu上为KDE应用程序设置默认应用程序首选项?

来自分类Dev

如何在不运行我的应用程序的情况下更改Android上的共享首选项(如iOS上的“设置”捆绑包)?

来自分类Dev

如何在不运行我的应用程序的情况下更改Android上的共享首选项(如iOS上的“设置”捆绑包)?

来自分类Dev

应用程序再次启动时如何使用共享首选项打开特定屏幕

来自分类Dev

如何使用属性在 MATLAB App Designer 中的两个应用程序之间共享数据?

来自分类Dev

防止在清除的应用程序上删除数据库或共享首选项

来自分类Dev

您可以从应用程序外部更改共享首选项吗?

来自分类Dev

我的设置活动使我的应用程序崩溃(使用共享首选项)

Related 相关文章

  1. 1

    OS X的defaults命令如何访问沙盒应用程序的首选项?

  2. 2

    OS X的defaults命令如何访问沙盒应用程序的首选项?

  3. 3

    Flutter-如何在共享首选项加载时暂停应用程序?

  4. 4

    在颤抖中共享首选项停止应用程序

  5. 5

    如何在两个应用程序之间共享数据

  6. 6

    如何在两个 asp.net 应用程序之间共享身份验证

  7. 7

    AngularJS。如何在两个应用程序之间共享单个服务

  8. 8

    Spring Secure - 如何在两个应用程序之间共享 bcrypt?

  9. 9

    如何在沙盒macOS应用程序和脚本(或程序)之间进行通信

  10. 10

    如何删除Mac应用程序的首选项?

  11. 11

    如何使用OS X API查找应用程序首选项文件夹?

  12. 12

    如何在Grails应用程序中实现用户首选项

  13. 13

    如何在我的应用程序中使用首选项显示个人资料图片

  14. 14

    在两个应用程序之间共享Sidekiq

  15. 15

    在两个应用程序之间共享界面?

  16. 16

    在两个应用程序之间共享界面?

  17. 17

    在两个节点应用程序之间共享会话

  18. 18

    在两个MVC应用程序之间共享缓存

  19. 19

    在两个节点应用程序之间共享会话

  20. 20

    在两个Laravel应用程序之间共享事件

  21. 21

    在函数式反应式编程中,如何在应用程序的两个部分之间共享状态?

  22. 22

    如何在Ubuntu上为KDE应用程序设置默认应用程序首选项?

  23. 23

    如何在不运行我的应用程序的情况下更改Android上的共享首选项(如iOS上的“设置”捆绑包)?

  24. 24

    如何在不运行我的应用程序的情况下更改Android上的共享首选项(如iOS上的“设置”捆绑包)?

  25. 25

    应用程序再次启动时如何使用共享首选项打开特定屏幕

  26. 26

    如何使用属性在 MATLAB App Designer 中的两个应用程序之间共享数据?

  27. 27

    防止在清除的应用程序上删除数据库或共享首选项

  28. 28

    您可以从应用程序外部更改共享首选项吗?

  29. 29

    我的设置活动使我的应用程序崩溃(使用共享首选项)

热门标签

归档