2012-04-08 5 views
2

고유 한 사용자 지정 URL을 갖고 있으며 응용 프로그램 저장소에있는 두 가지 iPhone 응용 프로그램이 있습니다. 앱 A와 앱 B라고 부르 자.사용자 지정 URL 스키마를 처리 할 수 ​​없을 때 장애 조치 (failover) URL 제공

앱 A의 인터페이스는 내가 실행하는 원격 서버에서 마크 업을 가져 오는 UIWebView입니다. 나는 응용 프로그램 (A)에 구현하려는 동작이 있습니다 : 링크가 앱 B의 사용자 정의 URL을 생성하는 경우

  • 및 응용 프로그램 B가 장치에 설치되어, 개방 앱 B.이 쉽게 의해 이루어집니다 UIApplication canOpenURL:을 확인하고 YES을 반환하는 경우 UIApplication openURL:을 호출하십시오. 링크가 장치에 설치되어 있지 않은 응용 프로그램 B, 및 응용 프로그램 B에 대한 사용자 지정 URL을 생성하는 경우

  • , 응용 프로그램 B의 앱 스토어 페이지로 이동

    다음

내가 계획하는 방법입니다 일초 것을 처리에 :

  • 이 앱 B의 앱 스토어 페이지로 연결되는 링크를 포함하는 사용자 정의 URL에 URL 매개 변수를 포함하는 경우 canOpenURL: 반환 전체 URL에 대한 NO, 그 매개 변수에 의해 지정된 URL을 열 대신 .

그래야합니다. 그러나 App B가 대체 링크를 검색하기 위해 App B의 사용자 지정 URL을 구문 분석하는 방법을 App A가 알아야한다는 것을 의미하기 때문에 약간 해킹 된 것으로 느껴집니다. 그것은 이상적인 캡슐화가 아닌 것 같습니다. canOpenURL:NO을 반환 할 때 장애 조치 URL을 제공하기 위해 사용해야하는 다른 규칙이 있습니까?

답변

1

AppA 내에서 항상이 URL을 AppB에 열어 볼 수 있습니까?

그렇다면 URL에 AppB의 App Store 페이지에 대한 링크를 추가해야하는 이유는 무엇입니까?

왜 AppA는 AppB의 App Store URL을 "알지 못합니다."그리고 "canOpenURL"이 Custom URL Scheme에 대해 NO를 반환하면 사용자를 App Store 페이지로 보냅니다.

이것은 훨씬 더 깨끗한 해결책처럼 보입니다.

추신 : 나는 이것이 오래된 질문이라는 것을 알고 있습니다. 그러나 질문에는 두 개의 상향 신호가 있으며 대답을하지 않았으므로 누군가가 도움이 될 것입니다.