2011-08-08 18 views
3

私はアップルのストアでいくつかのアプリケーションを生きており、バージョンアップしたこれらのアプリケーションのアップデート版をリリースしました。すべてのリソースが正しく更新されていることがわかりました(更新されたスプラッシュ画面、背景イメージなど)が、新しく追加された機能は更新されていません。たとえば、iPhoneアプリが自分のウェブサイトから新しいコンテンツを取得するように機能を追加しました。 Appstoreの更新リストからアプリケーションを更新するときには発生しません。iPhone:アップデートされたバージョンではアプリケーションのバイナリは更新されませんか?

...私のiPhoneからアプリケーションを削除して、Apple Storeからもう一度ダウンロードしてしまえば、すべてうまく動作します。私は何が起こっているのか理解できません。誰でもこれをデバッグするのを助けてくれますか?

からthis私は次のコードを取得し、私のAppDelegateに追加しました。私にとっては常にバージョン(null)を表示します。私はバージョン番号が私のApplication-info.plistファイルに正しく設定されているのを見ることができました!

#if DDEBUG // debugging/testing 
NSString *versionString = [NSString stringWithFormat:@"v%@",[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]]; 
#else 
NSString *versionString = [NSString stringWithFormat:@"Version %@",[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]]; 
#endif // DDEBUG 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setValue:versionString forKey:@"version"]; 
printf("Version: = %s\n", [versionString cStringUsingEncoding:NSMacOSRomanStringEncoding]); 
[defaults synchronize]; // force immediate saving of defaults. 

次のコードは動作しますが、つまり、application-info.plistファイルで正しいバージョンを表示しています。これは、アプリケーションを再送信した後、問題を修正した場合、私は確認することができhere

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSLog(@"Version: %@", version); 
[defaults setObject:version forKey:@"version_preference"]; 
[defaults synchronize]; 

からそれを得ました。

ありがとうございました。

+0

をあなたがデバイス上で持っていたバイナリは、あなたがXcodeのからダウンロードし、アプリストアからダウンロードしていなかったものだったということも可能です。 –

+0

いいえ...私はどこでもxcodeを実行しないユーザーの電話機で起こっている! – applefreak

+0

こんにちはPraveen、あなたはhttp://stackoverflow.com/questions/1311405/iphone-update-application-version-in-settingsが問題かもしれないと思いますか?アプリケーション設定plistファイルでバージョン番号を更新します。 – applefreak

答えて

0

これが働いた:

NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSLog(@"Version: %@", version); 
[defaults setObject:version forKey:@"version_preference"]; 
[defaults synchronize]; 
関連する問題