2013-02-05 3 views
1

번들 버전/id를 iOS 기기의 extern 응용 프로그램에 현재 적용하고 싶습니다. 어떻게해야합니까?iOS 번들 정보 읽기

+3

* 다른 * * (읽기 : ** 개발하지 않은 ** **) 앱의 번들 버전이 무엇인지 알고 싶습니까? 그건 불가능하다. –

+0

또한 나에 의해 개발되었습니다. 번들 식별자를 통해 읽을 수 있습니까? –

+0

사용자 정의 URL 스키마를 사용할 수 있습니다. 내 대답을 참조하십시오. –

답변

2

당신은 App Sandbox에 있습니다. 자신보다 다른 앱과 통신 할 수 없습니다.

는 실행중인 응용 프로그램의 버전을 얻으려면 :

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] 
+2

틀린 대답 .. 다른 앱이 아닌 앱의 앱 버전을 제공합니다. –

+0

"실행중인 앱의 버전을 받으려면"이라고 말했기 때문에. 필요한 경우 추가 정보입니다. –

+0

이 특정 질문이 아니더라도 유용한 대답입니다! :-) –

2

를 다른 응용 프로그램이 당신에 의해 개발되는 경우, 특정 버전의 설치 여부를 확인하는 custom URL schemes를 사용할 수 있습니다.

확인하려는 각 버전에 대해 다른 앱에 URL 스키마를 추가해야합니다. URL 스키마에는 현재 버전과 이전 버전에 대한 URL 체계 만 포함됩니다.

버전 1.0에는 com.you.your-other-app.1.0 만 있습니다.
버전 1.2 그러나 두 개 이상의 URL 체계가 있습니다 (com.you.your-other-app.1.0com.you.your-other-app.1.2).

그 응용 프로그램의 특정 버전을 사용하는 모든 응용 프로그램에 설치되어있는 경우 다음 검사 할 수있는 사항은 다음과 같습니다

BOOL is10Installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"com.you.your-other-app.1.0://"]]; 
BOOL is12Installed = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"com.you.your-other-app.1.2://"]]; 

업데이트 : 서로간에 통신 내 애플 리케이션의 두 이것을 사용
특정 기능이 지원되는지 여부를 결정합니다. 이것은 매우 유용 할 수 있습니다.

+0

안녕하세요 Fabian, 답변 해 주셔서 감사합니다. 사실 나는 URL Schemes을 구현할 생각이 있었지만 내 외부 앱이 URL 스키마를 매번 변경하지 않기 때문에 이것이 나에게 가장 좋은 해결책은 아닙니다. 사용 가능한 업데이트가 있는지 확인하려면 번들 버전을 읽어야합니다. –

+0

업데이트가있을 때마다 URL 스키마를 변경할 수 있습니다. 아마도 유일한 해결책 일 것입니다. –

+0

예, 그게 제가 의미했던 것입니다. ;) –