2015-07-21 213 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

相关问题