2012-04-08 2 views
2

У меня есть два приложения для iPhone, которые я создал, которые имеют свои собственные URL-адреса и находятся в магазине приложений. Назовем их App A и App B.Предоставление URL-адреса отказоустойчивости, когда настраиваемая схема URL-адреса не может быть обработана

Интерфейс App A - это UIWebView, который получает свою разметку с удаленного сервера, который я запускаю. Поведение я хочу реализовать в приложении А это:

  • Если ссылка генерируются с пользовательским URL для App B, и B App установлен на устройстве, откройте приложение B. Это легко сделать с помощью проверка UIApplication canOpenURL: и, если он вернется YES, позвоните UIApplication openURL:.

  • Если ссылка генерируется с пользовательского URL для App B, и App B не установлен на устройстве, перейдите на страницу приложения для App B.

Вот как я планирую на обработку, что второй один:

  • Включите параметр URL в пользовательском URL, который содержит ссылку на страницу приложения для App B. Если canOpenURL: возвращает NO для всей URL, открыть URL, указанный этого параметра вместо ,

Это должно сработать. Но он чувствует себя немного взломанным, потому что это означает, что App A должен знать, как анализировать пользовательский URL-адрес приложения B для получения альтернативной ссылки. Это, кажется, менее идеальное инкапсулирование. Есть ли еще какое-то другое соглашение, которое я должен использовать для предоставления URL-адреса восстановления после отказа, когда canOpenURL: возвращает NO?

ответ

1

Вы всегда будете открывать эти URL-адреса для AppB из AppA?

Если да, то почему вам нужно добавить ссылку на страницу App Store для AppB в URL?

Почему AppA уже не «знает» URL-адрес App Store для AppB, и если «canOpenURL» возвращает NO для схемы пользовательских URL-адресов, то он просто отправит пользователя на эту страницу в App Store?

Это похоже на гораздо более чистое решение.

PS: Я знаю, что это старый вопрос, но вопрос имеет пару upvotes, и на него не ответил, поэтому, возможно, это поможет кому-то ...