如何计算新版本在 App Store 上架后的天数 iOS
How to calculate number of days since new version is available on App Store iOS
在我的项目中,App已经在App Store上架了。每当 App Store 上有新版本可用时,App 应提示弹出窗口说有新版本可用并 link 更新它。用户可以通过单击相应的按钮立即或稍后更新它。
我可以通过根据捆绑标识符从 App Store 获取有关应用程序的信息来实现此目的。
NSURL *lookupURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", bundleIdentifier]];
NSData *lookupResults = [NSData dataWithContentsOfURL:lookupURL];
NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:lookupResults options:0 error:nil];
然后通过 JSON,我可以获得有关新的可用版本号、支持的设备等的信息。
jsonResults ---> {
resultCount = 1;
results = (
{
advisories = (
"Unrestricted Web Access"
);
artistId = @@@@@@@@@;
artistName = @@@@@@@@@;
artistViewUrl = @@@@@@@@@";
artworkUrl100 = @@@@@@@@@";
artworkUrl512 = @@@@@@@@@;
artworkUrl60 = @@@@@@@@@;
bundleId = @@@@@@@@@;
contentAdvisoryRating = @@@@@@@@@;
currency = USD;
description = @@@@@@@@@;
features = (
iosUniversal
);
fileSizeBytes = @@@@@@@@@;
formattedPrice = Free;
genreIds = (
@@@@@@@@@
);
genres = (
@@@@@@@@@
);
ipadScreenshotUrls = (
@@@@@@@@@
);
isGameCenterEnabled = 0;
isVppDeviceBasedLicensingEnabled = 1;
kind = software;
languageCodesISO2A = (
@@@@@@@@@@@
);
minimumOsVersion = "7.0";
price = 0;
primaryGenreId = @@@@@@@@@;
primaryGenreName = @@@@@@@@@;
releaseDate = "2014-07-13@@@@@@@";
releaseNotes = @@@@@@@@@;
screenshotUrls = (
@@@@@@@@@
);
sellerName = @@@@@@@@@;
supportedDevices = (
@@@@@@@@@@@
);
trackCensoredName = @@@@@@@@@;
trackContentRating = "17+";
trackId = @@@@@@@@@;
trackName = @@@@@@@@@;
trackViewUrl = @@@@@@@@@;
version = "2.0";
wrapperType = software;
}
);
}
现在我想计算自有多少天新版本可用而用户没有更新它。我收到的 JSON 不包含最新更新版本日期。
有没有办法直接从 App Store 知道这个时间间隔。
有 "releaseDate" 值。创建一个 NSDate 对象和一个日期格式化程序,设置它并解析该值的子字符串,你就有了一个日期对象。然后比较两个日期。 [NSDate date] 今天给你。
由于我无法从 Apple 收到的 JSON 中获取最新 App 版本的发布日期,我通过在服务器端保留新版本的发布日期来做到这一点。
为此,每次我向Apple提交新的App更新时,我都必须手动检查App Store上是否有新的App版本。然后我在服务器端设置那个版本的发布日期。
在我的应用程序中,每当应用程序启动时,我都会调用 Web 服务 returns 我的新应用程序版本及其发布日期。
在我的项目中,App已经在App Store上架了。每当 App Store 上有新版本可用时,App 应提示弹出窗口说有新版本可用并 link 更新它。用户可以通过单击相应的按钮立即或稍后更新它。
我可以通过根据捆绑标识符从 App Store 获取有关应用程序的信息来实现此目的。
NSURL *lookupURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", bundleIdentifier]];
NSData *lookupResults = [NSData dataWithContentsOfURL:lookupURL];
NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:lookupResults options:0 error:nil];
然后通过 JSON,我可以获得有关新的可用版本号、支持的设备等的信息。
jsonResults ---> {
resultCount = 1;
results = (
{
advisories = (
"Unrestricted Web Access"
);
artistId = @@@@@@@@@;
artistName = @@@@@@@@@;
artistViewUrl = @@@@@@@@@";
artworkUrl100 = @@@@@@@@@";
artworkUrl512 = @@@@@@@@@;
artworkUrl60 = @@@@@@@@@;
bundleId = @@@@@@@@@;
contentAdvisoryRating = @@@@@@@@@;
currency = USD;
description = @@@@@@@@@;
features = (
iosUniversal
);
fileSizeBytes = @@@@@@@@@;
formattedPrice = Free;
genreIds = (
@@@@@@@@@
);
genres = (
@@@@@@@@@
);
ipadScreenshotUrls = (
@@@@@@@@@
);
isGameCenterEnabled = 0;
isVppDeviceBasedLicensingEnabled = 1;
kind = software;
languageCodesISO2A = (
@@@@@@@@@@@
);
minimumOsVersion = "7.0";
price = 0;
primaryGenreId = @@@@@@@@@;
primaryGenreName = @@@@@@@@@;
releaseDate = "2014-07-13@@@@@@@";
releaseNotes = @@@@@@@@@;
screenshotUrls = (
@@@@@@@@@
);
sellerName = @@@@@@@@@;
supportedDevices = (
@@@@@@@@@@@
);
trackCensoredName = @@@@@@@@@;
trackContentRating = "17+";
trackId = @@@@@@@@@;
trackName = @@@@@@@@@;
trackViewUrl = @@@@@@@@@;
version = "2.0";
wrapperType = software;
}
);
}
现在我想计算自有多少天新版本可用而用户没有更新它。我收到的 JSON 不包含最新更新版本日期。
有没有办法直接从 App Store 知道这个时间间隔。
有 "releaseDate" 值。创建一个 NSDate 对象和一个日期格式化程序,设置它并解析该值的子字符串,你就有了一个日期对象。然后比较两个日期。 [NSDate date] 今天给你。
由于我无法从 Apple 收到的 JSON 中获取最新 App 版本的发布日期,我通过在服务器端保留新版本的发布日期来做到这一点。
为此,每次我向Apple提交新的App更新时,我都必须手动检查App Store上是否有新的App版本。然后我在服务器端设置那个版本的发布日期。
在我的应用程序中,每当应用程序启动时,我都会调用 Web 服务 returns 我的新应用程序版本及其发布日期。