2015-07-21 210 views
4

我正在編寫iOS SDK使用Objective-C編程語言。我想知道是否有在Xcode場在那裏我可以設置版本號爲SDK如何在iOS/Objective C中爲SDK設置版本號?

有沒有辦法在Objective-C到集版本和構建數量我們做iOS應用方式(EX :Version:2.5.1 Build:2.5.1.12)?

還需要一種方法來檢測這個版本號,所以我可以公開的API類似

- (NSString *)getSDKVersion { 
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 
    NSString *majorVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; 
    NSString *minorVersion = [infoDictionary objectForKey:@"CFBundleVersion"]; 

    return [NSString stringWithFormat:@"SDK Version %@ (%@)", majorVersion, minorVersion]; 
} 

-(NSString*)getSDKBuildVersion; 

它返回SDK版本和版本號。

使用: 的Xcode - 7.0(Beta 3的版本)

在此先感謝。

+1

如果你的SDK有一個Info.plist文件,你可以把你的版本'CFBundleShortVersionString'鍵和'CFBundleVersion'您的版本號。要檢索它們:'[[NSBundle mainBundle] objectForInfoDictionaryKey:@「CFBundleShortVersionString」]'或[[NSBundle mainBundle] objectForInfoDictionaryKey:@「CFBundleShortVersionString」]' – ryancrunchi

+0

@ryancrunchi更新了實現的問題。在執行上面的API我收到空響應。 –

+1

您可能需要創建自己的包(SDK包),並使用'[NSBundle bundleWithIdentifier:@「id」] ...'來訪問它。來自蘋果的doc:'這個方法通常被框架和插件用於在運行時定位他們自己的包' – ryancrunchi

回答

2

您可以設置版本,並建立在項目(左側)點擊數 - >一般選項卡(右側) - >身份部分。你會發現字段:Bundle IdentifierVersion and Build

爲了獲取值編程:

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

NSString *version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; 
NSString *build = [infoDictionary objectForKey:kCFBundleVersionKey]; 
+1

謝謝,但是當我們創建SDK項目時常規選項卡不會在那裏。我編輯了info.Plist文件,但仍然無法使用'CFBundleShortVersionString'鍵獲得版本號。 –

+0

@AnkitJain你可以找到解決方案來設置自定義sdk版本嗎? – vipulk617

相關問題