앱 내에서 프로그래밍 방식으로 번들 식별자 문자열을 어떻게 얻을 수 있습니까?
답변
목표 -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
답변
답변
가치를 얻으려면 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 앱 모두에서 작동합니다.
답변
