- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
使用 Xcode 5 的新 Assets 库,添加图像和组织它们从未如此简单。但是,它似乎破坏了我用于创建构建的一些脚本。
我的运行脚本阶段中有一个脚本将 CFBundleVersion
设置为 plist 中的当前时间戳。在脚本中,我执行了这条语句:
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $timestamp" $BUILT_PRODUCTS_DIR/$INFOPLIST_PATH
但是,当执行此语句时,将显示以下语句:
Set: Entry, ":CFBundleVersion", Does Not Exist
File Doesn't Exist, Will Create: /Users/SpacePyro/Library/DerivedData/BundleTest-duikdqngfmrovnagrcsvdcuxxstz/Build/Products/Debug-iphoneos/BundleTest.app/Info.plist
这似乎发生在干净的构建上。 plist 似乎直到构建中途才生成,大概是由于 Assets 库。
我也使用过这个命令,虽然它没有抛出错误,但它仍然会破坏我的更改(假设 INFO_PLIST="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Info"
):
defaults write $INFO_PLIST CFBundleVersion $timestamp
当我开始使用 Assets 库来组织我的应用程序图标和初始图像时,情况并非如此。有谁知道为什么会这样?更好的是,是否有将此值添加到 plist 的解决方法?我已经尝试将脚本置于 Action 前构建阶段以及 Action 后构建阶段。我也试过在构建完成后运行命令,但是当我尝试对其进行代码签名和打包时,它说由于 plist 修改,签名无效。
如果不存在合理的解决方案,我想我总是可以从 Asset Libraries 中取消迁移,直到我的脚本可以正常工作。
最佳答案
我曾经遇到过类似的问题,这是最终帮助我解决的问题:
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${INFOPLIST_FILE}"
(直接使用INFOPLIST_FILE,而不是$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH)
希望这可能有用。
关于ios - 在启用 Assets 库的情况下在 Xcode 5 中修改 Info.plist 的 CFBundleVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19164939/
我是整个应用程序世界的新手,这是我第一次使用 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
我是一名优秀的程序员,十分优秀!