I developed a desktop application for Mac, and we have a reason for our users to install several drivers for our application to work.
Due to sandbox restrictions, I cannot get user permissions to install drivers in the /Users/System Name/Library/ folder. (i.e.) He will ask for user permission to install drivers from one package installer to install drivers before accessing the application.
In addition, I cannot bundle drivers in one package to install drivers and a Mac application due to sandbox restrictions. So I have to separate the driver and application installation as a two-step process.
I sent the application to an Apple expert group with instructions on installing drivers, and then installed the mac application to perform the required functionality. I also developed a video to complete these steps. But the review team refused for the following reason:
Causes:
2.3: Applications that are not running as advertised by the developer will be rejected. We are writing to inform you that the Application Review Board has completed its appeal and determined that this version of your application violates Principle 2.3. We determined that your application requires the user to download and install additional software for the application to run ads. Applications should not require the user to install additional in order for the application to work. We will continue to review your application with this in mind.
Status: completed.
Thank you for your commitment to Mac development. Application Review Board.
I realized that users do not need to install additional software to run the application, but they need to know the possible ways to send the application to the Mac App Store in order to take advantage of the store and not release it outside the Mac App Store. Your valuable suggestion would be helpful to make any design changes for this solution.
Update: (application flow and driver role).
Here is my Mac app design and technical flow:
1. The product is actually used to store documents on the Server and will use documents for storage and cloud printing. I have two options for sending documents to the cloud:
a) Users can right-click on any document, transfer it to the Mac application to send the document to the cloud server.
b) I have another option, which is to send documents from the print option (ctrl + P), I would convert the documents as a common format to understand cloud servers. This feature will be more useful to users, and I also want to stick to this approach. The user can transfer any document using the print function of documents and Mac driver files, and several other supporting files will be communicated to the MAC application for further processing.
2.Mac App will show the list of downloaded files / status of each document.
Driver files have great functionality when processing document formats that can help in the cloud, so I need to have driver files in my architecture and are based on my business requirements.
The Mac component and mobile applications will communicate using the apple script to connect to each other. After the driver components complete the necessary steps, it will call an apple script to invoke the Mac application to execute its function.