2011-01-21 2 views
8

내 응용 프로그램에서 사용자 지정 URL 구성표를 사용하여 다른 응용 프로그램 (내 소유일 수도 있음)에서 열었습니다. 하나 이상의 응용 프로그램 응용 프로그램에 URL 식별자가있을 수 있습니다. 사용자가 동일한 URL 스키마 , 무엇이 열릴 것인가? 맞춤 URL 신청서가 사과에 의해 승인 되나요? 당신이 애플 응용 프로그램을 거부 할 가능성이있을 수 있습니다이 문서를 읽어 하나 이상의 앱에 맞춤 URL 애플리케이션과 동일한 URL 식별자가 있습니까?

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

를 발견하고 그

답변

15

맞춤 URL 앱은 Apple에서 허용합니다. 그러나 기기의 여러 앱이 동일한 URL 스키마를 등록한 경우 동작은 정의되지 않습니다. iOS Application Programming Guide에서 "여러 타사 응용 프로그램이 동일한 URL 체계를 처리하도록 등록하는 경우 해당 유형의 URL을 처리하기 위해 선택한 응용 프로그램 중 어떤 것이 정의되어 있지 않습니다."

+0

하지만 질문에 대답하지 않습니다. 그것은 무엇을합니까 ??? – eggie5

+4

@ eggie5, 그것은 행동이 정의되지 않았 음이 분명히 Apple에 의해 명시되어 있습니다. 그래서 당신은 정확히 무엇이 일어날지를 말할 수 없습니다. – taskinoor

+3

@tasknoor "명확하게 말하면"나는 "정의되지 않은"사과는 오히려 모순이라고 생각합니다. 무슨 일이야? 오류가 발생합니까? 전화가 종료 되나요? 주식 시장이 추락합니까? – eggie5

-1

이 답을 할 수있다, 여전히 당신은 애플에서 제공하는 가이드 라인을 읽을 수 있습니다. 감사합니다.

10

짧은 답변 : URL을 등록하는 첫 번째 앱이 열리는 경우가 있지만 자주 열리지 않습니다. 다른 시간에 두 번째 응용 프로그램이 열리지 만 자주 실패합니다. 기본적으로 그것은 많이 실패하고 실제로 "정의되지 않은"것입니다. 사용하지 않으려면 http://handleopenurl.com/을 사용하십시오.

긴 답변 :

나는이 애플 리케이션, FirstApp 및 SecondApp을 만들어, 모두에 대해 동일한 URL testURL을 등록했다.

FirstApp을로드했고 URL이 예상대로 작동하여 앱이 열렸습니다.

그런 다음 SecondApp를로드하고 두려운 정의되지 않은 동작이 발생하기 시작했습니다. 현재 iOS 7에서 두 개의 앱에 동일한 맞춤 URL이 등록되어있는 경우 모달을 묻는 메시지가 표시됩니다.

"이름 첫 애플리케이션"에서이 페이지를 엽니 다.

열기 옵션을 탭하면 아무 일도 일어나지 않습니다. 링크를 다시 탭하거나 입력하면 해당 URL에 설치된 첫 번째 앱 (여기서는 FirstApp)이 실행됩니다.

실제로 두 번째 앱 등록이 열리지 않으며 첫 번째 앱이 두 번의 URL 호출마다 실패합니다. 이상적인 행동이 아닙니다.

더 악화되는 이유는 두 앱을 모두 삭제하고 설치 한 순서를 전환했기 때문에 결과가 일관되지 않습니다. 때로는 하나의 응용 프로그램이며 두 응용 프로그램을 다시로드하면 다른 응용 프로그램이 다시로드됩니다. 이 동작은 실제로 "정의되지 않음"입니다.

가장 좋은 방법은 http://handleopenurl.com/을 사용하여 등록 된 URL을 확인하고 다른 앱과 충돌하지 않는 URL을 선택하는 것입니다. 다른 URL이 아닌 다른 앱을 열지 못하기 때문에 다른 URL을 "도용"할 수 없습니다.