2017-04-05 4 views
6

Mein APP-Prüfupdate durch Vergleich der lokalen Version und der Remote-Version, die von der iTunes-Lookup-API zurückgegeben wird. Aber die API gibt immer noch die alte Version zurück, nachdem die neue Version veröffentlicht wurde.iTunes-Lookup-API gibt alte Daten in meiner APP zurück

https://itunes.apple.com/us/lookup?bundleId=com.xxx.xxxx

Diese API neue Version zurückkehren (4.9), wenn ich über den Browser anfordern, aber alte Version zurückkehren (4.8.1) in APP.

Irgendwelche Hilfe? Vielen Dank.

- (void)updateAppInfo 

{ 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    //first check iTunes 
    NSString *iTunesServiceURL = [NSString stringWithFormat:@"https://itunes.apple.com/us/lookup"]; 
    iTunesServiceURL = [iTunesServiceURL stringByAppendingFormat:@"?bundleId=%@", [[NSBundle mainBundle] bundleIdentifier]]; 
    NSLog(@"iRate is checking %@ to retrieve the App Store details...", iTunesServiceURL); 

    NSError *error = nil; 
    NSURLResponse *response = nil; 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:iTunesServiceURL] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60]; 
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    NSInteger statusCode = ((NSHTTPURLResponse *)response).statusCode; 
    if (data && statusCode == 200) 
    { 
     //in case error is garbage... 
     error = nil; 
     id json = nil; 
     if ([NSJSONSerialization class]) 
     { 
      json = [[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingOptions)0 error:&error][@"results"] lastObject]; 
     } 
     else 
     { 
      //convert to string 
      json = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
     } 

     if (!error) 
     { 
      self.appStoreId = [self valueForKey:@"trackId" inJSON:json]; 
      self.latestVersion = [self valueForKey:@"version" inJSON:json]; 
      self.releaseNote = [self valueForKey:@"releaseNotes" inJSON:json]; 
     } 
    } 
    }); 
} 
+0

Ich hatte gestern eine neue Version veröffentlicht und es ist immer noch nicht im AppStore verfügbar. Vielleicht ist Ihre neue Version Ready For Sale bei iTunesConnect, aber noch nicht im AppStore verfügbar? – rckoenes

+0

Es kann einige Zeit dauern, bis sich die Daten in allen Systemen widerspiegeln. Ich schlage vor, dass Sie irgendwann warten müssen. – satheeshwaran

+0

@rckoenes Nö, ich kann neue Version im AppStore herunterladen – Jack

Antwort

1

Ich bin auch jetzt das gleiche Problem haben. Ich habe mit einem anderen Entwickler gesprochen und kam zu dem Schluss, dass es sich um ein CDN-Problem handeln könnte. (Content-Delivery-Netzwerk)

  • Wenn ich mit unserem WLAN verbinden, ist die Antwort veraltet.
  • Wenn ich mich mit meinen 4G-Daten verbinde, wird die Antwort aktualisiert.
Verwandte Themen