2013-08-05 46 views
1

我在我的iOS應用程序中顯示關於HTML形式。 About.html也與應用程序捆綁在一起。
我想在關於html頁面中自動顯示應用程序版本,這樣我就不必在每次碰撞版本時手動編輯HTML。
目前我在做什麼是如下:
我創建HTML爲<b>Version %@</b>
在Objective C代碼,我寫它作爲iOS - 在HTML頁面顯示應用程序版本

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]; 
} 

這是好辦法做到這一點或有沒有更好的方法來實現它?

回答

0

你正在接近完美的方式。繼續採用您的方法沒有任何問題。

+0

我不需要任何服務器,我的應用程序必須連接。但我的問題與顯示自動版本號有關。 – Satyam

+0

我編輯了我的答案,很抱歉誤解。 –

0

沒關係。如果你想在未來本地化文本,那麼可能會改變文本中參數的順序,所以使用更類似於SUB_VERSION的東西作爲要替換的標識符,然後使用字符串替換方法(而不是格式方法)會更好。