iOS 正版bugly 热更新还能用吗了,还能玩吗

《好看》依托百度技术,精准推荐优质短视频内容,懂你所好,量身打造最适合你的短视频客户端!IOS版本检查更新 没有用了 - 简书
IOS版本检查更新 没有用了
NSString *currentVersion = [self getLocalVersion];
NSString *lastVersion = [self getCurrentAppStoreVersion];
if (![lastVersion isEqualToString:currentVersion]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"关闭" otherButtonTitles:@"更新", nil];
alert.tag = 10000;
[alert show];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"更新" message:@"此版本为最新版本" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
alert.tag = 10001;
[alert show];
//本机版本号
- (NSString *)getLocalVersion{
NSDictionary *appInfo = [[NSBundle mainBundle] infoDictionary];
NSString *currentVersion = [appInfo objectForKey:@"CFBundleVersion"];
return currentV
//线上版本号
- (NSString *)getCurrentAppStoreVersion
NSString *URL = @"http://itunes.apple.com/lookup?id=";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:URL]];
[request setHTTPMethod:@"POST"];
NSHTTPURLResponse *urlResponse =
NSError *error =
NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:recervedData options:NSJSONReadingMutableContainers error:nil];
NSArray *infoArray = [dic objectForKey:@"results"];
NSString *lastVersion =
if ([infoArray count]) {
NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
lastVersion = [releaseInfo objectForKey:@"version"];
NSLog(@"HAHAHAHA%@",lastVersion);
return lastV
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
if (alertView.tag==10000) {
if (buttonIndex==1) {
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/us/app/id?mt=8"];
[[UIApplication sharedApplication]openURL:url];
- (NSString *)getCurrentLocalVersion{
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
CFShow(infoDic);
NSString *appVersion = [infoDic objectForKey:@"CFBundleVersion"];
- (NSString *)getCurrentAppStoreVersion
NSString *URL = @"http://itunes.apple.com/lookup?id=";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:URL]];
[request setHTTPMethod:@"POST"];
NSHTTPURLResponse *urlResponse =
NSError *error =
NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:recervedData options:NSJSONReadingMutableContainers error:nil];
NSArray *infoArray = [dic objectForKey:@"results"];
NSString *lastVersion =
if ([infoArray count]) {
NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
lastVersion = [releaseInfo objectForKey:@"version"];
NSLog(@"HAHAHAHA%@",lastVersion);
return lastV
下面是解析
- (NSString *)getCurrentAppStoreVersion
具体步骤如下:
具体步骤如下:
1,用 POST 方式发送请求:
http://itunes.apple.com/search?term=你的应用程序名称&entity=software
更加精准的做法是根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的ID
//#define APP_URL http://itunes.apple.com/lookup?id=你的应用程序的ID
你的应用程序的ID 是 itunes connect里的 Apple ID
2,从获得的 response 数据中解析需要的数据。因为从 appstore 查询得到的信息是 JSON 格式的,所以需要经过解析。解析之后得到的原始数据就是如下这个样子的:
resultCount = 1;
artistId = 开发者 ID;
artistName = 开发者名称;
price = 0;
isGameCenterEnabled = 0;
languageCodesISO2A =
trackCensoredName = 审查名称;
trackContentRating = 评级;
trackId = 应用程序 ID;
trackName = 应用程序名称";
trackViewUrl = 应用程序介绍网址;
userRatingCount = 用户评级;
userRatingCountForCurrentVersion = 1;
version = 版本号;
wrapperType =
然后从中取得 results 数组即可,具体代码如下所示:
NSDictionary *jsonData = [dataPayload JSONValue];
NSArray *infoArray = [jsonData objectForKey:@"results"];
NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
NSString *latestVersion = [releaseInfo objectForKey:@"version"];
NSString *trackViewUrl = [releaseInfo objectForKey:@"trackViewUrl"];
如果你拷贝 trackViewUrl 的实际地址,然后在浏览器中打开,就会打开你的应用程序在 appstore 中的介绍页面。当然我们也可以在代码中调用 safari 来打开它。
UIApplication *application = [UIApplication sharedApplication];
[application openURL:[NSURL URLWithString:trackViewUrl]];
具体代码如下:
NSString *URL = @"http://itunes.apple.com/lookup?id=";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:URL]];
[request setHTTPMethod:@"POST"];
NSHTTPURLResponse *urlResponse =
NSError *error =
NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSString *results = [[NSString alloc] initWithBytes:[recervedData bytes] length:[recervedData length] encoding:NSUTF8StringEncoding];
NSDictionary *dic = [results JSONValue];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:recervedData options:NSJSONReadingMutableContainers error:nil];
NSArray *infoArray = [dic objectForKey:@"results"];
if ([infoArray count]) {
NSDictionary *releaseInfo = [infoArray objectAtIndex:0];
NSString *lastVersion = [releaseInfo objectForKey:@"version"];
NSLog(@"HAHAHAHA%@",lastVersion);
NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com"];
[[UIApplication sharedApplication]openURL:url];
return @"1234";
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
一般软件上架后,都希望用户及时升级到最新版本,所以通常都会有一个检测升级的模块.这方面的教程网上有很多,方案也有几种.这里把本人使用和检测相关的内容都列出来,大家一起讨论. 这里我想实现的需求是这样的: 1.每次打开手机App的时候,自动将当前App在AppStore里上架...
1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的信息。事实上服务器是不能根据www.sunny.com这样的地址找到对应的服务需要需要根据ip来找到对应的服务。那么网络上ip是怎么得到的呢这就要得益于dns服...
整个企训知识点不多,就那么几块,作为培训师要做的就是怎样让文化渗透到每个人身上,通俗易懂好复制,能让各个部门沟通零障碍,能让业务员赚到钱,制定人性化的制度出来,全方位的服务好每一个人…… 那么对于培训师来讲,要求就高了,除了综合素质过关以外,还需要有较高的洞察力。接下来就团...
Javascript闭包的定义非常晦涩——闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(深连结)。简单来说,Javascript...
左转:距离转弯点5至15米,换二挡,不能超过150米,加速,换三档, 调头:一档,二挡都可以,方向盘一圈半 右转:大弯,右转向,挂二挡,方向盘一圈,三挡
小弯,右转向,二挡,三挡都可以,然后加速,
昨天在解答同学的问题中,又接触了好久没碰的C中的位操作。在重接触的过程中,又理解了一遍计算机存储数据的细节,于是分享给大家看一下。 让我们先看一下题目:编写一个程序,输入两个整数i、j,如果j的值大于0,则将i循环左移j位; 如果j的值小于0,则将i循环右移j位,最后...
你还记得当初为什么会选择专升本吗?我们总归不能做到时刻提醒自己升本的初心,或多或少的被不必要的的事情将我们的动力一点一点萃取,这个时候真正能帮助我们的只有自己,所以请勇敢的面对自己。精英专升本分享给同学们,当专升本学习缺乏动力时,你可以这样回答自己。 “我真的好怕努力之后没...Pages: 1/2
主题 : 已发布是app转移到另外一个帐号后,更新app还可以用之前的证书吗?
级别: 侠客
UID: 80325
可可豆: 560 CB
威望: 503 点
在线时间: 508(时)
发自: Web Page
来源于&&分类
已发布是app转移到另外一个帐号后,更新app还可以用之前的证书吗?&&&
已发布是app转移到另外一个帐号后,更新app还可以用之前的证书吗?还是一定要用新帐号的证书。我刚才用之前的帐号可以上传到itunesconnect,但是在相应的页面没有看到上传的版本,已经等了半个小时了,是不是一定要用新的帐号才可以更新APP。[ 此帖被三十一在 11:50重新编辑 ]
级别: 侠客
UID: 80325
可可豆: 560 CB
威望: 503 点
在线时间: 508(时)
发自: Web Page
找到一个答案二, 转让之后的开发转让之后,App的Bundle ID是不变的,转让的过程也会伴随着App ID的转让.。比如特酷吧开发了一款Bundle ID(App ID)为”net.tekuba.word”的App,转让给B,那么特酷吧的苹果开发者账户中的这个App ID就会消失,而B的开发者帐号中就会多一个”net.tekuba.word”的App ID。这个时候如果B想继续开发这款App,只需要在B的开发者账户下生成”net.tekuba.word”App ID对应的Provisioning Profiles文件安装即可。就是说必须使用新证书了
级别: 精灵王
UID: 113399
发帖: 3620
可可豆: 5708 CB
威望: 6227 点
在线时间: 2595(时)
发自: Web Page
回 1楼(三十一) 的帖子
是的 转让之后的上传 必须用新的账号对应的发布证书来上传转让的时候 会把所转让的app的app id给转过来的
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 2(时)
发自: Web Page
转让之后是不是必须重新发布一次?
级别: 新手上路
UID: 503374
可可豆: 22 CB
威望: 9 点
在线时间: 39(时)
发自: Web Page
转让之后是需要用新的开发者账户生成新的证书。问题是使用新的证书发布的App新版本,用户升级时需要卸载重装么?昨天刚刚完成两个账号间的转移,真机调试的时候必须要卸载之前的版本,所以担心上架新版本的时候用户是不是也得重新安装?
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 16(时)
发自: Web Page
问个问题,app转移到新的开发者账号下,以前的老用户更新正常吗?
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 121(时)
发自: Web Page
&&&&&&&&&&&&&&&&&&&&&&&&
级别: 新手上路
可可豆: 31 CB
威望: 31 点
在线时间: 8(时)
发自: Web Page
引用 引用第5楼zhuangdc于 23:29发表的&&:问个问题,app转移到新的开发者账号下,以前的老用户更新正常吗? 同样的问题啊,开发的时候不能覆盖,说是已经有一个相同的BID了,求指路
级别: 侠客
UID: 388111
可可豆: 360 CB
威望: 338 点
在线时间: 571(时)
发自: Web Page
只要转让过了就什么都不用管了,&&只需要新的证书, 以后用新的账号上传就行了
级别: 新手上路
UID: 354781
可可豆: 79 CB
威望: 46 点
在线时间: 43(时)
发自: Web Page
回 2楼(sandpiper) 的帖子
你好,我的app迁移到新账户中,从新账户更新app时出现(WARNING ITMS-90076: &Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['TJ6LNH6SJ5.com.ski.ski.ski'] and the new version of software being submitted has an application-identifier of ['6M2URW2R2Y.com.ski.ski.ski']. This will result in a loss of keychain access.&)这种警告,你知道怎么处理吗?谢谢
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版}

我要回帖

更多关于 ipad更新后还能恢复吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信