iOS app, 빌드 버전 프로그래밍 방식으로 확보하십시오.

내 앱 빌드 버전의 프로그램을 통해 얻을 수 있는 방법이? 내가 할 수 있을 때 탐지합니다 사용자가 업데이트되도록 앱 스토어 앱 실행 코드를 통해 일부 조정을 위해

질문에 대한 의견 (2)
해결책

Xcode 에서, 대상 summary& &quot Version&quot # 39 의 값을 설정할 수 있습니다. 여기 필드는.

스위프트는 3

let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as! String

로비치

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

스위프트 2

let version = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as! String

그리고 Build&quot ";:

스위프트는 3

let build = Bundle.main.infoDictionary?[kCFBundleVersionKey as String] as? String

로비치

NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey];

스위프트 2

let build = NSBundle.mainBundle().infoDictionary?[kCFBundleVersionKey as String] as! String
해설 (3)

시도하시겠습니까 린포디스트리오나리 사용할 수 있습니다.

NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];

NSString *version = infoDictionary[@"CFBundleShortVersionString"];
NSString *build = infoDictionary[(NSString*)kCFBundleVersionKey];
NSString *bundleName = infoDictionary[(NSString *)kCFBundleNameKey]; 
해설 (1)

',' 를 사용할 때 제프마이콩포세비스콘트로예르 &quot 문의하려면 Us&quot. 단추, 내가 이 코드를 사용하여 사용자가 HTML 포맷됩니다 e-mail 을 얻을 수 있는. 이를 통해 모든 문제를 해결할 수 있는 모든 정보를 나를 시작할 필요가 있어.

struct utsname systemInfo;
uname(&systemInfo);

NSDateFormatter *formatter = [[NSDateFormatter alloc]  init];
NSDate  *date = [NSDate date];
[formatter setDateFormat:@"MM/dd/yyyy 'at' hh:mm a"];
NSString *dateString = [formatter stringFromDate:date];

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width - 65.0;

NSString *comments = NSLocalizedString(@"Please write your comments below:", nil);
NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
NSString *iOSVersion = [[UIDevice currentDevice] systemVersion];

NSString *emailBody = [NSString stringWithFormat:@" .div {background-color: lightgrey; width: %fpx; padding: 10px; border: 5px solid navy; margin: 2px;}<div class='div'><p>App: %@</p><p>Device: %@</p><p>iOS Version: %@</p><p><p>App Version and Build: %@ (%@)</p><p>Date: %@</p> </p></div>%@<br><br>",screenWidth,appName,deviceModel,iOSVersion,version,build,dateString,comments];

[self setMessageBody:emailBody isHTML:YES];

이 결과가 반환되었습니다 가져오는 메시지:

! [입력하십시오. 이미지 여기에 설명을] [1]

해설 (0)

모두 새로운 버전을 따로.

let versionNumber = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
let buildNumber = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleVersion") as! String

이 리포, 체크아웃합니다 포함되어 있다.

https://github.com/goktugyil/EZSwiftExtensions

해설 (1)

# 세부내용에서

Xcode 버전 10.3 (10G8), Swift 5 -

# 솔루션이므로

class Info {
    static let dictionary = Bundle.main.infoDictionary ?? [:]
    enum Value {
        case build, version
    }
}

extension Info.Value {

    var key: String {
        switch self {
            case .build: return kCFBundleVersionKey as String
            case .version: return kCFBundleInfoDictionaryVersionKey as String
        }
    }

    var string: String? { return Info.dictionary[key] as? String }
}

# 사용

if let value = Info.Value.version.string { print("Version: \(value)") }
if let value = Info.Value.build.string { print("Build: \(value)") }

# 결과

  • 프로젝트 설정 *

! [입력하십시오. 이미지 여기에 설명을] [1]

해설 (0)

나는 이 오픈 소스 프로젝트 의 기록되었으므로 정확하게 이 목적. 내 글이 알림에는 프로젝트 등 중요 이벤트가 발생했을 때, 또는 사용자가 해당 앱을 앱 업그레이드 후 처음으로 열었든 열었든 (완료하십시오 버전에 대한 정보로 사용자 업그레이드됨 에서). 소스가 간단하고 쉽게 이해할 수 있도록 해야 합니다. / 요청률 궁금한 사항이 있으시면 알려주세요.

[2] [블로그 포스트] 나는) 도 최근 인간복제에 대한 것입니다.

해설 (0)
  1. 가져오는 App 버전을 사용할 수 있습니다.
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

점점 빌드 버전 2) 를 사용할 수 있습니다.

NSString *buildVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
해설 (0)