I have developed a Mac desktop application and we have a business reason to have our users to install few drivers for our application to work.
Due to sandbox constraint, I am not able to get the user access permission to install the drivers within /Users/System Name/Library/
folder.
(i.e.,) It will ask user permission to install the drivers from a single package installer to install the drivers before accessing the App.
Also, I am not able to bundle drivers in a single package to install the drivers and the Mac app due to the sandbox constraints. So that I will have to separate driver and app installation as two step process.
I have submitted the app to Apple review team with the instructions of installing the drivers, then installing the mac app to perform the desired functionality. I have detailed the video to perform the steps as well. But review team has rejected with the following reason:
Reasons:
2.3: Apps that do not perform as advertised by the developer will be rejected We are writing to let you know that the App Review Board has completed their review of your appeal and determined that this version of your app is in violation of Guideline 2.3. We have determined that your application requires the user to download and install additional software in order for the application to perform as advertised. Applications should not require the user to install additional software in order for the app to work. We will continue review of your app with this in mind.
Status: Complete.
Thank you for your commitment to Mac app development. App Review Board.
I understood that users should not install additional software for the app to work, but need to know the possible ways to submit the app in Mac App Store to avail the store benefits instead of releasing outside the Mac App Store. Your valuable suggestion would be helpful to make any design changes for this solution.
Update: ( Application Flow and Role of drivers ).
Here is what my Mac app design and technical flow :
1.Product is actually used to store the documents on the Server and would use the documents for storage and cloud printing. I do have two options to send the documents to cloud :
a) Users can right click any document, pass it to Mac app to send the document to cloud server.
b) I do have another option which is to send the documents from print option (ctrl + P), I would convert the documents as generic format to understand by cloud servers. This feature would bring more value to the users and I want to stick into this approach as well. User can pass any document via document print function and mac driver files and few other supporting files will communicate to MAC app for further processing.
2.Mac App will show the list of uploaded files / status of each documents.
Driver files have a lot of functionality on handling the document formats which would help on cloud, so I must have driver files in my architecture and based on my business requirement.
Mac app and drivers component would communicate using a apple script to connect each other. Once driver components complete the necessary steps then it will call the apple script to invoke the Mac app to perform its function.