IT story

프로그래밍 방식으로 번들 식별자 얻기

hot-time 2020. 4. 25. 09:56
반응형

프로그래밍 방식으로 번들 식별자 얻기


앱 내에서 프로그래밍 방식으로 번들 식별자 문자열을 어떻게 얻을 수 있습니까?


목표 -C

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

스위프트 1.2

let bundleIdentifier = NSBundle.mainBundle().bundleIdentifier

스위프트 3.0

let bundleIdentifier = Bundle.main.bundleIdentifier

Xamarin.iOS

var bundleIdentifier = NSBundle.MainBundle.BundleIdentifier

[[NSBundle mainBundle] bundleIdentifier];

( 문서 )


가치를 얻으려면 Core Foundation 접근법이 필요할 수 있습니다. ARC 예는 다음과 같습니다.

NSString *value = (__bridge_transfer NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(CFBundleGetMainBundle()),
                                                                     (const void *)(@"CFBundleIdentifier"));

Swift 3.0 에서 번들 식별자를 프로그래밍 방식으로 가져 오려면 :

스위프트 3.0

let bundle = Bundle.main.bundleIdentifier

이 매크로를 사용하여 훨씬 짧게 만듭니다.

#define BUNDLEID    [NSString stringWithString:[[NSBundle mainBundle] bundleIdentifier]]

#define BUNDLEIDEQUALS(bundleIdString) [BUNDLEID isEqualToString:bundleIdString]

그래서 나는 이것처럼 비교할 수 있습니다 :

if (BUNDLEIDEQUALS(@"com.mycompany.myapp") {
    //do this
}

프로그래밍 방식으로 가져 오려고하면 아래 코드 줄을 사용할 수 있습니다.

목표 -C :

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

스위프트 3.0 :

let bundleIdentifier =  Bundle.main.bundleIdentifier

최신 빠른 업데이트 iOS 및 Mac 앱 모두에서 작동합니다.

참고 URL : https://stackoverflow.com/questions/8883102/obtain-bundle-identifier-programmatically

반응형