- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试比较 com.apple.mobile.installation.plist 中 2 个应用程序的 CFBundleVersion
键,其中包括 iPhone 上每个已安装应用程序的信息
NSString *appBundleID =@"net.someapp.app";
NSString *appBundleID2=@"net.someapp.app2";
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:
@"/var/mobile/Library/Caches/com.apple.mobile.installation.plist"];
NSDictionary *User = [dict valueForKey:@"User"];
//get first app version
NSDictionary *bundleID = [User valueForKey:appBundleID];
NSString *appVersion = [bundleID valueForKey:@"CFBundleVersion"];
//get second app version
NSDictionary *bundleID2 = [User valueForKey:appBundleID2];
NSString *appVer2 = [bundleID2 valueForKey:@"CFBundleVersion"];
[dict release];
if ([appVersion isEqualToString:appVer2]) {
NSString *str1=[NSString stringWithFormat:@"Original Version: %@",appVersion];
NSString *str2=[NSString stringWithFormat:@"2nd Version: %@",appVer2];
NSString *msg=[NSString stringWithFormat:@"%@\n%@",str1,str2];
UIAlertView* alertView = [[UIAlertView alloc]
initWithTitle:@"Same Versions!" message:msg delegate:nil
cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alertView show];
}
else {
NSString *str1=[NSString stringWithFormat:@"Original Version: %@",appVersion];
NSString *str2=[NSString stringWithFormat:@"2nd Version: %@",appVer2];
NSString *msg=[NSString stringWithFormat:@"%@\n%@",str1,str2];
UIAlertView* alertView = [[UIAlertView alloc]
initWithTitle:@"Different Versions!" message:msg delegate:nil
cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alertView show];
}
目前两个应用的版本都设置为2.11.8
我得到以下错误结果:
如果我手动设置 NSString:
NSString *appVersion =@"2.11.8";
NSString *appVer2 =@"2.11.8";
我得到了正确的预期结果:
我也尝试了其他方法来比较字符串,但结果总是一样,所以我猜问题出在获取键的值上?感谢任何帮助
最佳答案
我已经习惯了 ARC,以至于我不再 100% 确定 MRC 规则了。但我假设您要么必须保留
字典中的值appVersion
和appVer2
,或者,将 [dict release]
推迟到不再需要这些值之后。由于您不拥有从字典中获取的值,因此如果词典发布。
(如果您使用 ARC 编译,这不会成为问题!)
备注:从字典中获取值的指定方法是objectForKey:
。valueForKey:
在许多情况下也适用,但可以不同。它应该只被使用用于键值编码魔法。
关于ios - 从 plist 中获取和比较 CFBundleVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570884/
我是整个应用程序世界的新手,这是我第一次使用 X-code(我过去构建的应用程序,使用 Phonegap Build) 无论如何 - 我设法创建了一个粘性页面(最终!)。现在我对它做了一些更改,但我无
我知道对此有很多疑问,但是我仍然发现在理解版本号如何工作方面存在问题。 这是我在Apple Store上的应用更改日志: 版本1.2 Build 1.2.0 版本1.1 版本1.1.1 Build 1
我们的构建系统自动将 CFBundleVersion 设置为 git 中的提交数。当我们设置它时,我们认为这是跟踪构建内容的好方法,而不必手动更新构建号。 问题是当我们达到非常高的数字时会发生什么?我
我可以通过这样做来获取我的应用程序的版本: [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] 但是如何获
有没有办法将 CFBundleVersion 变量(NSString)更改为 float 。 我目前的版本是“1.0.2”,但是当我从中解析 floatValue 时,它将返回 1.00000。
我正在尝试将应用程序上传到 apple,但我一直收到此错误: 错误 ITMS-90345:“Metadata/Info.plist 不匹配。metadata.xml 文件中 bundle_versio
我在将我的构建上传到 iTunes Connect 时遇到了问题。我总是得到以下错误 我的一般项目设置是这样的 我也在我的项目中使用 cocoapods,但之前从未收到过此错误,而且我已经上传了几个构
watch 套件集成规划 错误:您的 WatchKit 应用的 Info.plist (1) 中的 CFBundleVersion 值与您配套应用的 Info.plist (2.0) 中的值不匹配。这
我正在提交对我的一个应用程序的更新。我已经用我开发的许多不同的应用程序做了几十次,但是这个因为一些奇怪的原因而失败了。我存档我的应用程序,然后尝试验证存档并收到以下错误消息: This bundl
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Xcode project’s “Build number” 我使用此脚本在 Xcode 4.5.2(适用于 iOS
根据此处接受的答案的要点 3: CFBundleVersion in the Info.plist Upload Error Apple is supposed to be comparing the
我是第一次使用 Application Loader 将我的 .ipa 文件上传到 iTunes Connect... 我收到这个错误: The Info.plist in the package m
我正在尝试比较 com.apple.mobile.installation.plist 中 2 个应用程序的 CFBundleVersion 键,其中包括 iPhone 上每个已安装应用程序的信息 N
我正在尝试使用 iOS7 上新提供的收据将我的付费应用程序转换为免费增值应用程序,同时我也在进行收据验证。 我有点困惑,因为收据返回的是当前版本和原始版本的 CFBundleVersion,而不是我们
我在提交应用程序更新时收到了来自 Apple 的以下电子邮件: We have discovered one or more issues with your recent delivery for
我正在尝试更新我在 Xcode 3.x 版本中创建的 iPhone/iPad 应用程序。 我已经在 Info.plist 中添加了 CFBundleVersion 和另一个版本,并且我已经交叉检查了所
在 macOS 上,命令行选项 -Bmac.CFBundleVersion= documentation 中指定甲骨文 javapackager实用程序不起作用。 我正在使用以下命令来创建磁盘镜像 A
我开发了 iPhone 应用程序, 我几天前在商店成功上传了我的应用程序的第一个版本,然后我对我的应用程序进行了更改,现在我想上传我的应用程序的第二个版本,我使用 Bundle version 1.0
我有一个项目,它根据开发阶段(暂存、生产、开发)具有不同的目标。对于每个目标,我都有一个与之配套的 plist 文件。 我的问题是如何自动更新每个 plist 的 CFBundleShortVersi
我面临以下问题。 版本不匹配 - Info.plist 中的 CFBundleVersion ['1.50'] 和 CFBundleShortVersionString ['1.30'] 都不匹配 i
我是一名优秀的程序员,十分优秀!