我开发了一个Mac桌面应用程序,我们有一个商业原因让我们的用户为我们的应用程序安装少量驱动程序。
由于沙箱约束,我无法获得用户在/Users/System Name/Library/
文件夹中安装驱动程序的访问权限。
(即)在访问应用程序之前,它将要求用户从单个软件包安装程序安装驱动程序以安装驱动程序。
此外,由于沙盒限制,我无法将驱动程序捆绑在单个程序包中以安装驱动程序和Mac应用程序。 因此,我必须将驱动程序和应用程序安装分开,作为两个步骤。
我已将应用程序提交给Apple审核小组,其中包含安装驱动程序的说明,然后安装mac app以执行所需的功能。 我已经详细介绍了视频以执行这些步骤。但审核小组拒绝了以下原因:
理由:
2.3:开发人员宣传的效果不佳的应用将被拒绝我们写信是为了通知您,App Review Board已经 完成了对您的上诉的审查并确定了此版本 您的应用违反了准则2.3。我们已经确定了 您的应用程序要求用户下载并安装其他应用程序 软件,以便应用程序按照宣传的方式执行。 应用程序不应要求用户安装其他应用程序 软件,以使应用程序工作。我们会继续审核您的 考虑到这一点的应用程序。
状态:完成。
感谢您对Mac应用的承诺 发展。 App Review Board。
我了解用户不应该为应用程序安装其他软件,但需要知道在Mac App Store中提交应用程序的可能方式,以利用商店优势,而不是在Mac App Store外部发布。您的宝贵建议有助于对此解决方案进行任何设计更改。
更新:(应用程序流程和驱动程序的角色)。
以下是我的Mac应用程序设计和技术流程:
1.Product实际上用于在服务器上存储文档,并将文档用于存储和云打印。我有两个选择将文档发送到云:
a)用户可以右键单击任何文档,将其传递给Mac应用程序以将文档发送到云服务器。
b)我还有另一种选择,即从打印选项(ctrl + P)发送文件,我会将文件转换为通用格式,以便云服务器理解。此功能将为用户带来更多价值,我也希望坚持这种方法。 用户可以通过文档打印功能和mac驱动程序文件传递任何文档,其他一些支持文件将与MAC应用程序进行通信以进行进一步处理。2.Mac App将显示上传文件列表/每个文档的状态。
驱动程序文件在处理有助于云的文档格式方面有很多功能,因此我必须在我的架构中根据业务需求提供驱动程序文件。
Mac应用和驱动程序组件将使用Apple脚本进行通信以相互连接。一旦驱动程序组件完成必要的步骤,它就会调用apple脚本来调用Mac应用程序来执行其功能。
答案 0 :(得分:0)
对设计更改的建议应与Mac App Store沙盒兼容。
NSOpenPanel
指向~/Library/
NSURL
放入沙箱。