Programing

iOS에서 실행중인 애플리케이션의 이름을 얻는 방법

lottogame 2020. 10. 23. 07:29
반응형

iOS에서 실행중인 애플리케이션의 이름을 얻는 방법


홈 화면의 아이콘 아래에있는 응용 프로그램 이름이 "My Awesome App"인 경우 런타임에 응용 프로그램 내에서 해당 문자열을 어떻게 얻습니까?


나는 시도 할 것이다

[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];

아마도 여러분은 자신의 앱 이름을 알고 있고 그냥 사용할 수 있습니다.


스위프트 3 & 4

Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String ?? ""
Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ?? ""


스위프트 2.2

NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleName")
NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleDisplayName")


'CFBundleName'및 'CFBundleDisplayName'에 대한 추가 정보

다음은 Core Foundation Keys에 대한 Apple의 문서에서 가져온 것입니다.

CFBundleName ,“Bundle name”, 번들의 짧은 이름. 사용자가 볼 수 없습니다. 자세한 내용은 CFBundleName 을 참조하십시오. (권장, 현지화 가능)

CFBundleDisplayName ,“Bundle display name”, 사용자가 볼 수있는 번들 이름. Siri에서 사용되며 iOS의 홈 화면에 표시됩니다. 자세한 내용은 CFBundleDisplayName 을 참조하십시오. (필수, 현지화 가능)


[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];

배열 항목을 얻는 새로운 방법 인 Xcode 4.5를 좋아하기 때문입니다. :)

- (NSString*)project_getAppName {
    return NSBundle.mainBundle.infoDictionary[@"CFBundleDisplayName"];
}

Xamarin.iOS의 경우 다음을 사용합니다.

return ((NSString)NSBundle.MainBundle.InfoDictionary["CFBundleName"]).ToString();

#include <stdlib.h>

// work for iOS and MacOSX and ~23 times faster than get name from bundle
NSString *app = [NSString stringWithUTF8String:getprogname()];

스위프트 3/4

let appName =  Bundle.main.object(forInfoDictionaryKey: kCFBundleNameKey as String) as? String

NSString* applicationName = [entry objectForKey:(id)kCGWindowOwnerName];

여기에 당신이 찾고있는 것의 예가 있는 좋은 포스트 가 있습니다. OP는 아무것도 받아들이지 않았는데, 이는 안타깝지만 답변은 유용합니다.


스위프트 3

let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String

주의 :

앱 이름을 다른 언어로 현지화 한 경우에는 타격 코드를 사용하여 현지화 된 표시 이름을 가져와야합니다.

Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String ?? ""
Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ?? ""

타격보다험악하다 :

Bundle.main.object(forInfoDictionaryKey: kCFBundleNameKey as String) as? String

참고 URL : https://stackoverflow.com/questions/8320860/how-to-get-the-name-of-the-running-application-in-ios

반응형