ローカル通知ソリューション
本質的にオスカーが以前に言ったことは、これを本当に簡単にすることができます。アプリケーションを起動するたびに確認したい場合は、アプリケーションからホストしているWebサービスへのある種のローカルAPI(または同様の)呼び出しを簡単に呼び出すことができます。たとえば、PHPファイルがあります。
<?php
$currentVersion = 1.3;
echo $currentVersion;
?>
この単純なPHPスクリプトは、更新をリリースするたびに更新できます。iPhoneは、起動するたびにそのPHPファイルを照会することでこれを認識できます(NSURLConnectionデリゲートメソッドをチェックして、特定のURLから応答を取得します)。これで、アプリケーションによる以前のチェックから、次の方法でそれらをNSUserDefaults値に格納できます。
NSUserDefaults *defaults = [[NSUserDefaults alloc] init];
NSString *loadedVersion = [defaults valueForKey:@"MYAPP_CURR_VERSION"];
次に、WebサービスのPHPファイルから文字列を受け取るNSURLConnectionデリゲートメソッドの2つを比較する必要があります。
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.website.com/folder/version.php"]];
[urlRequest setHTTPMethod:@"GET"];
[urlRequest setHTTPBody:[postParams dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];
[connection start];
上記のコードは、あなたが指示したサーバーのURLにリクエストを送信します。応答を受け取ったら、次のようにします。
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
NSString *responseVersionFromServer = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if(![loadedVersion isEqualToString:responseVersionFromServer]) {
//execute code here to show a local notification or UIAlertView
}
}
それはあなたのためにすべての比較を行います。
注:.hヘッダーファイルにNSURLConnectionDelegateを追加する必要があります。
プッシュ通知ソリューション
アプリケーションがUrbanAirshipなどのプッシュ通知を使用できるようにするためのサービスがあります。このサービスにログインして、更新が利用可能になったときにすべてのユーザーにプッシュ通知を送信できます。使い方はとても簡単です。彼らのウェブサイトをチェックしてください。(www.urbanairship.com)