macos - 在 Mac App Store 的应用程序中,我仅需要使用 LibreOffice 系统来实现一项特定功能。这是否违反了商店的规则?

标签 macos cocoa store libreoffice

在 Mac App Store 的应用程序中,我仅需要使用 LibreOffice 系统来实现一项特定功能。应用程序的其余部分无需它即可工作。这是否违反了商店的规则?我知道提交过程是不可预测的,但也许有开发人员遇到过这个确切的问题。非常感谢。

最佳答案

Mac AppStore 最重要的规则是您的应用程序必须是沙盒的(https://developer.apple.com/app-store/review/guidelines/#hardware-compatibility 第 2.4.5 部分 (i))。沙盒应用程序只能访问它自己的文件,无法读取其“气泡”之外的任何内容。这意味着它只能在 LibreOffice 属于应用程序包的情况下使用。

简而言之:您的应用必须包含 LibreOffice。我不熟悉 LibreOffice 的许可,因此我不确定是否可以将其包含在任何应用程序中。也许如果您只需要其中的一个工具,您可以将其添加到您的应用程序包中,这样就会被接受。

另一个解决方案应该是要求用户在需要时授予对 LibreOffice 目录的访问权限 - 但这并不是真正的用户友好,因为您的应用程序在每次执行时都需要询问。沙盒应用程序可以在用户同意的情况下访问其沙盒之外的目录。这意味着当它打开 OpenFile 对话框并且用户在 LibreOffice 目录上选择并单击“打开”时,您的应用程序将暂时获得对该目录的访问权限,直到它运行为止。

最后一个解决方案:使用临时异常 ( https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AppSandboxTemporaryExceptionEntitlements.html#//apple_ref/doc/uid/TP40011195-CH5-SW7 ) 来授予对预定义 LibreOffice 路径的访问权限,但这些权利是临时的是有充分理由的。您需要解释为什么需要异常(exception),并且不能保证 Apple 会接受。

关于macos - 在 Mac App Store 的应用程序中,我仅需要使用 LibreOffice 系统来实现一项特定功能。这是否违反了商店的规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54000929/

相关文章:

swift - 如何使用 SwiftPM 创建 Cocoa GUI 应用程序

macos - 将自释放对象转换为 ARC

iphone - 我的开发人员没有使用 Interface Builder,这是一件坏事吗?

arrays - 从 NSComboBox 获取选定的文本值

macos - 在 COBOL 中编译 helloworl 时 gmp 出错

objective-c - 实体与键的键值编码不兼容

cocoa - Cocoa animator proxy 无法处理 0.5 点吗?

magento - 如何在 Magento 中更改客户 store_id 或在创建新客户时设置 "created_from"属性

javascript - 带有 json 存储的网格有时不显示数据