Info.plist에서 버전 읽기
Info.plist의 번들 버전 정보를 내 코드로 읽고 싶습니다. 가능하면 문자열로 읽겠습니다.어떻게 해야 하나요?
Info.plist를 사전으로 읽을 수 있습니다.
[[NSBundle mainBundle] infoDictionary]
그리고 당신은 버전을 쉽게 구할 수 있습니다.CFBundleVersion
저쪽으로 키를 누르세요.
마지막으로 다음 버전을 사용할 수 있습니다.
NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
NSString* version = [infoDict objectForKey:@"CFBundleVersion"];
Swift 사용자의 경우:
if let version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") {
print("version is : \(version)")
}
Swift3 사용자의 경우:
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") {
print("version is : \(version)")
}
저는 퀘스트와 답이 오고 나서 시간이 좀 흘렀다는 것을 알고 있습니다.
iOS8 때문에 승인된 답변이 작동하지 않을 수 있습니다.
이것이 바로 새로운 방법입니다.
NSString *version = (__bridge id)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
이제 iOS 8에서는 두 필드가 모두 필요합니다.이전에는 시스템 없이도 작동합니다.CFBundleShortVersionString
하지만 지금은 앱스토어에서 앱을 제출하는 것이 필요한 plist 필드입니다. 그리고kCFBundleVersionKey
모든 새 빌드를 업로드하기 위해 비교되며, 이는 증분 순서여야 합니다.특히 테스트 비행 빌드용입니다.이런 식으로 합니다.
NSString * version = nil;
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
if (!version) {
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
}
스위프트 3:
let appBuildNumber = Bundle.main.infoDictionary!["CFBundleVersion"] as! String
let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
언급URL : https://stackoverflow.com/questions/4059101/read-version-from-info-plist
'programing' 카테고리의 다른 글
Oracle의 sqlnet.log 파일 생성 중지 (0) | 2023.08.07 |
---|---|
iPad용 Safari에서 jQuery를 사용하여 터치 이벤트를 인식하려면 어떻게 해야 합니까?가능합니까? (0) | 2023.08.07 |
트랜잭션 로그 없이 SQL 서버 DB 복원 (0) | 2023.08.07 |
int 값이 10 미만이면 문자열 두 자리 숫자로 변환됩니다. (0) | 2023.08.07 |
jQuery 및 AJAX의 SSL 인증서 무시 오류 (0) | 2023.08.07 |