1

我在我的 iOS 应用程序中以 html 的形式显示 About。About.html 也与应用程序捆绑在一起。
我想在 About html 页面中自动显示应用程序版本,这样我每次更新版本时都不必手动编辑 HTML。
目前我正在做的事情如下:
我正在将html创建为<b>Version %@</b>
在Objective C代码中,我将它写为

    NSString* aboutFilePath = [[NSBundle mainBundle] pathForResource:@"About" ofType:@"html"];
    NSString* htmlStr = [NSString alloc] initWithContentsOfFile:aboutFilePath encoding:NSUTF8StringEncoding error:nil];
    NSString* formattedStr = [NSString stringWithFormat:htmlStr, [self appNameAndVersionNumberDisplayString];
   [self.webView loadHTMLString:formattedStr baseURL:nil];

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

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

这是实现它的好方法还是有更好的方法来实现它?

4

2 回答 2

0

没关系。如果您想在将来本地化文本,那么这可能会改变文本中参数的顺序,因此使用更像SUB_VERSION是要替换的标识符,然后使用字符串替换方法(而不是格式方法)会更好。

于 2013-08-05T06:37:02.153 回答
0

你正在以近乎完美的方式做到这一点。继续你的方法没有问题。

于 2013-08-05T07:04:09.837 回答