2015-10-29 6 views
0

Итак, мы разрабатываем приложение iOS, которое будет медицинским устройством. Поэтому он должен быть проверен правилами FDA, и это будет для конкретной версии iOS. Мы изучаем, что трудно предотвратить конечный пользователь для обновления версии iOS, и это проблема, потому что с точки зрения FDA вы будете работать в непроверенном состоянии.Разработка приложения iOS для конкретных версий iOS

Итак, похоже, что при обновлении iOS нам придется повторно проверять наше приложение, потому что мы должны обновить наши iPads (даже если контролируемая среда). Это нормально. Но в то же время нам не нужно позволять пользователям запускать наше приложение.

Итак ... Я вставляю код в нашем приложении, который проверяет «NSFoundationVersionNumber» и отключит себя (с предупреждением), если iOS позже, чем тот, который был проверен.

Мой вопрос в том, что я никогда не видел приложение, это так: это разумный подход, и это хорошая/плохая практика? Будет ли Apple (которая, похоже, заинтересована в том, чтобы держать всех в замке), была проблема с этим во время просмотра приложения?

+0

Если это приложение в App Store, не ожидайте, что Apple одобрит его. – rmaddy

+0

Если вы получили приложение, одобренное Apple для текущей официальной версии iOS, то оно уже одобрено и останется в App Store, даже если Apple обновит свою ОС. Однако, если вы отправляете обновление, вам необходимо убедиться, что обновление работает под новой версией ОС. Вы также можете найти сердитых существующих клиентов, которые автоматически обновляют свою ОС и находят ваше приложение мертвым. Один звездный отзыв может подождать. – hotpaw2

+0

Решением этого является реализация представления, которое заблокирует приложение, если оно подтвердит, что оно используется с версией, которая еще не одобрена FDA. – JDM

ответ

0

Как доказательство существования, в магазине приложений iOS есть множество приложений, которые запускаются под предыдущей версией iOS, но просто сбой при обновлении iOS. Apple, похоже, не удаляет эти приложения, если они были одобрены, когда предыдущая версия ОС была последней официальной версией. Исправление этих сбоев является очень распространенной причиной, приведенной в описаниях обновлений приложений.

Таким образом, отправка приложения, которое работает только в текущей версии iOS (и не более поздних версиях), может быть не «лучшей практикой», но это происходит, и это возможно.

Однако у вас возникнет проблема, если вы отправите что-то в FDA, для которого требуется определенная версия iOS, и Apple обновляет свою ОС во время процесса утверждения и, таким образом, больше не продает и не поддерживает установку этой более старой версии ОС вскоре после этого. Вы никогда не сможете опубликовать одобренное FDA приложение для любых доступных устройств iOS для клиентов. Apple часто обновляет версии iOS.

Возможно также, что (например, время от времени сообщалось) Apple тестировала представленные приложения под бета-версией следующей версии iOS и отклоняла приложения, которые не запускаются на этой бета-версии.

0

На платформе iOS, где программирование и парадигмы проектирования, по крайней мере, частично продиктованы Apple, я бы сказал, что это действительно можно считать плохой практикой.

Хотя этот сценарий не кажется, явно рассматривается в Apple's Review Guidelines, juding духа этого документа (в частности, в отношении «приложения, содержащего контент или услуги, которые истекают после ограниченного времени»), я бы ожидать их принять нарушение в приложении, которое составляет , разработано, чтобы не предлагать никаких функций для определенных устройств, и особенно для , разработанных, чтобы не предлагать никаких функций по умолчанию после обновления устройства до новейшей версии iOS.

В качестве альтернативной стратегии я предлагаю реализовать проверку версии, как вы описали, но вместо того, чтобы закрывать ее, в случае обнаружения неизвестной версии iOS приложение может просто сообщить об этом пользователю (и последствия этого), но продолжают функционировать номинально (возможно, с выдающимися предупреждающими знаками, отображаемыми на экране).

0

Возможно, проверка версии iOS при запуске в вашем делегате может сделать то, что вы хотите.

[[NSProcessInfo processInfo] operatingSystemVersion] в iOS 8 и выше.

Задайте конкретную версию переменной и, если версия более новая, отключите приложение.

Есть несколько способов отключить его. Отключите элементы и навигацию по mainViewController ...

Смежные вопросы