Установка драйверов с помощью приложения для Mac — отклонено группой проверки Apple

Я разработал настольное приложение для Mac, и у нас есть бизнес-причина, чтобы наши пользователи установили несколько драйверов для работы нашего приложения.

Из-за ограничений песочницы я не могу получить разрешение пользователя на установку драйверов в папке /Users/System Name/Library/. (т. е.) Он запросит у пользователя разрешение на установку драйверов из одного установщика пакета, чтобы установить драйверы перед доступом к приложению.

Кроме того, я не могу объединить драйверы в один пакет для установки драйверов и приложения Mac из-за ограничений песочницы. Так что мне придется разделить установку драйвера и приложения на два этапа.

Я отправил приложение в группу проверки Apple с инструкциями по установке драйверов, а затем по установке приложения для Mac для выполнения желаемых функций. Я также подробно описал видео, чтобы выполнить шаги. Но группа проверки отклонила по следующей причине:

Причины:

2.3: Приложения, которые не работают так, как рекламируется разработчиком, будут отклонены Мы уведомляем вас о том, что Совет по рассмотрению приложений завершил рассмотрение вашей апелляции и определил, что эта версия вашего приложения нарушает правило 2.3. Мы определили, что ваше приложение требует, чтобы пользователь загрузил и установил дополнительное программное обеспечение, чтобы приложение работало так, как рекламируется. Приложения не должны требовать от пользователя установки дополнительного программного обеспечения для работы приложения. Мы продолжим рассмотрение вашего приложения с учетом этого.

Статус: завершен.

Спасибо за вашу приверженность разработке приложений для Mac. Совет по обзору приложений.

Я понял, что пользователи не должны устанавливать дополнительное программное обеспечение для работы приложения, но должны знать возможные способы отправки приложения в Mac App Store, чтобы воспользоваться преимуществами магазина, вместо того, чтобы выпускать его за пределами Mac App Store. Ваше ценное предложение будет полезно для внесения любых изменений в конструкцию этого решения.

Обновление: ( поток приложений и роль драйверов ).

Вот что такое дизайн моего приложения для Mac и технический процесс:

1. Продукт фактически используется для хранения документов на сервере и будет использовать документы для хранения и облачной печати. У меня есть два варианта отправки документов в облако:

а) Пользователи могут щелкнуть правой кнопкой мыши любой документ, передать его в приложение Mac, чтобы отправить документ на облачный сервер.

б) У меня есть еще один вариант, который заключается в отправке документов из опции печати (ctrl + P), я бы преобразовал документы в общий формат для понимания облачными серверами. Эта функция принесет больше пользы пользователям, и я также хочу придерживаться этого подхода. Пользователь может передать любой документ с помощью функции печати документа, а файлы драйвера Mac и несколько других вспомогательных файлов будут передаваться в приложение MAC для дальнейшей обработки.

2. Приложение Mac покажет список загруженных файлов / статус каждого документа.

Файлы драйверов имеют множество функций для обработки форматов документов, которые могут помочь в облаке, поэтому мне необходимо иметь файлы драйверов в моей архитектуре и в соответствии с моими бизнес-требованиями.

Приложение Mac и компонент драйверов будут взаимодействовать друг с другом с помощью сценария Apple. После того, как компоненты драйвера завершат необходимые шаги, он вызовет сценарий Apple, чтобы вызвать приложение Mac для выполнения своей функции.


person 2vision2    schedule 26.03.2014    source источник
comment
Что делает драйвер, какой API использует? В библиотеке нет папки для драйвера. Это демон (исполняемый файл, который работает в фоновом режиме без пользовательского интерфейса)? Как ваше приложение взаимодействует с водителем? Розетки? ХПК?   -  person mahal tertin    schedule 26.03.2014
comment
Вы не должны обязаны распространять свое приложение через Mac App Store.   -  person Abizern    schedule 26.03.2014
comment
@mahaltertin Я добавил еще немного информации о потоке приложений и драйвере. Пожалуйста, посмотрите.   -  person 2vision2    schedule 27.03.2014
comment
так печать отправляет документ на сервер? Это довольно необычно, и я бы подумал о добавлении службы или чего-то подобного вместо печати на сервере....   -  person Volker    schedule 27.03.2014
comment
@Волкер Спасибо за ответ. Да, вы правы, я отправляю документ на сервер, используя сервис в своем приложении. Но чтобы приложение работало, мне нужно, чтобы драйверы печати были установлены на машине MAC. Этот драйвер печати будет генерировать универсальные форматы файлов печати и содержит все детали печати. Я не могу удалить эту зависимость от драйвера, поскольку это соответствует моему бизнес-требованию.   -  person 2vision2    schedule 27.03.2014
comment
В Evernote это тоже есть. Отправка PDF прямо из Print в Cloud. Звучит разумно. Смотрите мой ответ, как это достигается.   -  person mahal tertin    schedule 27.03.2014


Ответы (1)


Предложение по изменению дизайна должно быть совместимо с изолированной программной средой Mac App Store.

  • Включите все необходимые файлы в каталог Resources вашего App Bundle.
  • Спросите пользователя, есть ли дополнительная установка для лучшей интеграции с системой.
  • В диалоговом окне должно быть указано «необязательно», потому что приложение также должно работать без этого.
  • Если пользователь говорит «да», покажите NSOpenPanel, указывающий на ~/Library/
  • Получите NSURL этого каталога в песочнице.
  • Скопируйте файлы драйверов из вашего комплекта в папки Библиотеки.
person mahal tertin    schedule 27.03.2014
comment
@ Махал Спасибо за ответ. Мои предыдущие RnD показали мне, что я могу перейти на PDF-Workflow, но все же мне приходится обрабатывать множество других форматов с помощью драйверов, что было бы моим бизнес-требованием. поэтому хотел бы знать, есть ли лучший вариант поговорить о каждом из этих компонентов драйвера и компонента приложения на основе моих приведенных выше объяснений? ИЛИ я бы подумал переделать все это с огромными усилиями? . пожалуйста посоветуй. - person 2vision2; 27.03.2014
comment
Я просто добавил альтернативный способ и более подробную информацию. но, пожалуйста, отредактируйте свой вопрос, чтобы добавить подробности: что вы подразумеваете под драйвером? Какое межпроцессное взаимодействие вы планируете между драйвером и приложением? и, пожалуйста, не пишите Mac заглавными буквами :-) - person mahal tertin; 28.03.2014
comment
Спасибо, я добавил свой комментарий в свой вопрос. - person 2vision2; 29.03.2014
comment
Мы реализовали нечто подобное в грядущем выпуске Raskin. Ознакомьтесь с тестовой версией здесь: raskinformac.com/beta. - person mahal tertin; 02.04.2014
comment
@ 2vision2 ты нашел решение этой проблемы? если мой ответ помог вам, было бы здорово, если бы вы могли отметить его как ответ, используя галочку слева. - person mahal tertin; 28.04.2014