Есть ли в iPhone SDK концепция Android Intent?
Просто переключаюсь с Android на iPhone. В Android я могу сделать несколько приложений и использовать tabView для вызова каждого приложения как намерение.
В iPhone я могу сделать несколько приложений. Мне нужна вкладка для вызова каждого приложения или представления приложений. Есть ли такая же концепция, как у iPhone? Просто переключился на iPhone, копирование всех остальных проектов на панель вкладок не получается. Если у вас есть другие способы решения, я очень ценю. Спасибо,
6 ответов
Android и iOS очень разные в этом отношении. Android очень открыт для того, чтобы позволить вам использовать намерения для совмещения и сопоставления действий из других приложений. iOS не такая; каждое приложение работает в своем личном пространстве и, как правило, не может даже видеть данные других приложений, не говоря уже о том, чтобы использовать их сервисы. Можно запускать другие приложения через пользовательские URL-адреса, но это не одно и то же.
Вам нужно скопировать или переместить код для контроллеров представления, представлений и т. Д. Различных приложений iOS в проект приложения панели вкладок. Вы создадите их все в одном приложении, и панель вкладок будет переключаться между контроллерами представления.
С iOS 8 у вас будет что-то похожее на Android Intents. Используя расширения приложения, вы можете достичь аналогичного поведения.
В ближайшем будущем Приложения начнут выставлять свое "расширение" (как вы делаете в Android Framework, объявляя Фильтры намерений в манифесте), которое будет использоваться нужным приложением. Области расширения, разрешенные в этой первой версии:
- сегодня
- Поделиться
- действие
- Редактирование фотографий
- Поставщик документов
- Пользовательская клавиатура
Здорово, наконец, Apple, выпустить эту функциональность!
Намерение в Android охватывает множество функций. Для iOS нет эквивалента этому.
Но если ваша цель - запустить другое приложение и передать ему параметры, вы можете попробовать схему URL.
Допустим, у вас есть приложение AAA с URL-схемой aaa:// и приложение BBB с URL-адресом bbb:// Вы можете запустить приложение AAA и вызвать bbb://v=1&c=2, например, чтобы запустить BBB и получить параметры. Вы даже можете использовать эти параметры для управления тем, какое представление показывать, чтобы у вас была похожая концепция в Android, чтобы вызывать разные Activity с Intents.
Вы должны зарегистрировать схему URL в Info.plist
Самым близким понятием к Intent на iOS является обработка определенных URL-адресов системными приложениями. Смотрите здесь. В какой-то момент можно было зарегистрировать свои собственные схемы URL-адресов приложений (см. Эту статью), но я должен признать, что я не пробовал этого в последних SDK (ссылки GCCCse IIRC могут быть открыты в приложении Glympse, поэтому этот метод, вероятно, все еще работает).
С 2016 года Apple добавила инфраструктуру Intents, которая похожа на Android, хотя и намного более ограничена. Ожидайте, что Apple добавит больше Intents в будущем, но пока это довольно ограничено. https://developer.apple.com/reference/intents
Начиная с iOS 8, вы можете использовать расширения приложения.