【发布时间】:2014-05-05 00:52:40
【问题描述】:
我开发了一个 Mac 桌面应用程序,我们有一个商业理由让我们的用户安装一些驱动程序以使我们的应用程序正常工作。
由于沙盒限制,我无法获得在/Users/System Name/Library/ 文件夹中安装驱动程序的用户访问权限。
(即)它会在访问应用程序之前询问用户是否允许从单个软件包安装程序安装驱动程序以安装驱动程序。
此外,由于沙盒限制,我无法将驱动程序捆绑在一个包中来安装驱动程序和 Mac 应用程序。 这样我就必须将驱动程序和应用程序安装分开作为两步过程。
我已将该应用程序提交给 Apple 审核团队,并附有安装驱动程序的说明,然后安装 mac 应用程序以执行所需的功能。 我也详细介绍了执行这些步骤的视频。但审核组拒绝了,原因如下:
原因:
2.3:不符合开发者宣传的应用程序将被拒绝我们写信通知您,应用程序审查委员会已经 完成了他们对您的申诉的审查,并确定此版本 您的应用程序违反了指南 2.3。我们已经确定 您的应用程序要求用户下载并安装额外的 软件,以使应用程序按照宣传的方式执行。 应用程序不应要求用户安装额外的 软件才能使应用程序正常工作。我们将继续审查您的 考虑到这一点的应用程序。
状态:完成。
感谢您对 Mac 应用程序的承诺 发展。应用审查委员会。
我理解用户不应该安装额外的软件来运行应用程序,但需要知道在 Mac App Store 中提交应用程序以利用商店优势而不是在 Mac App Store 之外发布的可能方式。您的宝贵建议将有助于对此解决方案进行任何设计更改。
更新:(应用程序流程和驱动程序的角色)。
这是我的 Mac 应用程序设计和技术流程:
1.Product实际上是用于将文档存储在Server上,并将文档用于存储和云打印。我确实有两个选项可以将文档发送到云端:
a) 用户可以右键单击任何文档,将其传递给 Mac 应用程序以将文档发送到云服务器。
b) 我确实有另一个选项是从打印选项 (ctrl + P) 发送文档,我会将文档转换为通用格式以供云服务器理解。此功能将为用户带来更多价值,我也想坚持这种方法。 用户可以通过文档打印功能和mac驱动文件传递任何文档,其他支持文件很少会与MAC应用程序通信以进行进一步处理。
2.Mac App会显示上传文件列表/每个文件的状态。
驱动程序文件在处理文档格式方面有很多功能,这将有助于云计算,因此我的架构中必须有驱动程序文件并根据我的业务需求。
Mac 应用程序和驱动程序组件将使用苹果脚本进行通信以相互连接。一旦驱动组件完成了必要的步骤,它就会调用苹果脚本来调用 Mac 应用程序来执行它的功能。
【问题讨论】:
-
驱动程序做什么,它使用哪个API?库中没有“驱动程序”文件夹。它是一个守护进程(在没有 UI 的情况下在后台运行的可执行文件)?您的 App 如何与“驱动程序”通信?插座? XPC?
-
您没有有通过 Mac App Store 分发您的应用程序。
-
@mahaltertin 我添加了一些有关应用程序流程和驱动程序的更多信息。请看一看。
-
那么,打印将文档发送到服务器?这是相当不寻常的,我会考虑添加服务等而不是打印到服务器....
-
@Volker 感谢您的回复。是的,您是对的,我正在使用我的应用程序中的服务将文档发送到服务器。但要使应用程序正常工作,我需要在 MAC 机器上安装打印驱动程序。此打印驱动程序将生成打印文件的通用格式并包含打印的所有详细信息。我无法删除此驱动程序依赖项,因为它在我的业务需求中。
标签: macos appstore-approval mac-app-store review appstore-sandbox