iPhone更新应用程序版本(在“设置”中)[重复]

2024-04-24

可能的重复:
如何在应用程序的设置包中显示应用程序版本修订? https://stackoverflow.com/questions/877128/how-can-i-display-the-application-version-revision-in-my-applications-settings

我有一个 iPhone 应用程序,它将当前版本显示为设置常量(就像 Skype 一样)。

当我发布应用程序的第一个版本时,我使用以下代码来设置应用程序设置:

- (void)registerDefaultsFromSettingsBundle {
    NSString *settingsBundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
    if(!settingsBundle) {
        NSLog(@"Could not find Settings.bundle");
        return;
    }

    NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]];
    NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"];

    NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]];
    for(NSDictionary *prefSpecification in preferences) {
        NSString *key = [prefSpecification objectForKey:@"Key"];
        if(key) {
            [defaultsToRegister setObject:[prefSpecification objectForKey:@"DefaultValue"] forKey:key];

        }
    }

    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
    [defaultsToRegister release];
}

这效果很好,花花公子。

我现在面临的问题是,如果更新应用程序,这些默认值(设置)也不会被重写,因此应用程序版本不会更新。

如何强制在每次安装时设置特定设置?

谢谢 贡索


您可以使用以下“运行脚本”构建阶段:

CFBundleShortVersionString=`/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" ${SRCROOT}/YourApp/YourApp-Info.plist`
CFBundleVersion=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" ${SRCROOT}/YourApp/YourApp-Info.plist`
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:3:DefaultValue '${CFBundleShortVersionString} (${CFBundleVersion})'" ${SRCROOT}/YourApp/Settings.bundle/Root.plist

您需要做的就是将 YourApp 替换为您的应用程序名称并设置适当的密钥路径。

就我而言,PreferenceSpecifiers 数组中有 4 个项目,我需要设置数组中最后一项的值,这就是我使用 ':PreferenceSpecifiers: 的原因:3:默认值'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone更新应用程序版本(在“设置”中)[重复] 的相关文章

随机推荐

  • R 中函数多态性的建议做法是什么?

    假设我想写一个函数R这是对某些数据进行充分统计的函数 例如 假设函数 调用它foo func仅取决于数据样本的样本均值 为了方便起见 我认为用户可能喜欢传递到foo func随机变量的样本 在这种情况下foo func计算样本平均值 or样
  • ZeroMQ,我们可以使用 inproc: 传输以及 pub/sub 消息传递模式吗

    设想 我们正在评估ZeroMQ 具体来说jeroMq 用于事件驱动机制 应用程序是分布式的 其中多个服务 发布者和订阅者都是服务 可以存在于同一个 jvm 中或不同的节点中 这取决于部署架构 观察 为了玩玩我创建了一个pub sub图案与i
  • 当将位图加载为 Windows 资源时,是否有办法保留 BITMAPFILEHEADER?

    我一直在使用测试一些东西SFML 1 4 http sfml dev org 简单快速的多媒体库 采用 C 和 Visual C 2008 Express Edition 为了避免我的图形程序出现外部图像 我正在测试sf Image Loa
  • 二和 Leetcode 解释、Hashmap、Javascript

    我只是想知道谁能一步一步解释这个解决方案的算法 我不知道哈希图是如何工作的 您能否还提供一个使用哈希图的基本示例 以便我理解该算法 谢谢你 var twoSum function nums target let hash for let i
  • 使用 Bash 将 KB 转换为 MB

    我使用命令来获取远程文件夹的大小 运行后它会返回 120928312 http blah com 数字大小为bytes 我想做的就是让它输出MB 以及http部分被移除 我猜想 grep 到一个文件 但不知道如何去做 您可以使用 shell
  • 如何在 Matplotlib 中在图框之外绘制矩形

    我想按照下图的样式生成子图的标题 标题下方应有一个灰色框 位于散点的顶部 这是我尝试过的代码 x random sample range 50 50 y random sample range 50 50 fig pyplot figure
  • 浮点计算根据编译器的不同而变化

    当我运行在 Windows 和 Solaris 上编译的完全相同的代码执行完全相同的浮点计算 使用双精度 时 我得到的结果略有不同 我知道由于舍入误差 结果并不准确 然而 我本以为舍入误差是与平台无关的 从而在两个平台上给出相同的 稍微不正
  • 使用 SDK 的 iPhone 应用程序上的 reCaptcha

    有人在 iPhone 应用程序上使用过 reCaptcha 吗 我正在尝试弄清楚如何将其嵌入到我的应用程序中 在 iPhone 应用程序中使用 reCaptcha 的唯一方法是在应用程序中渲染 WebView reCaptcha 有一个很好
  • Git - 远程:致命:你在一个尚未诞生的分支上

    我正在尝试设置一个钩子来从我的桌面推送到我的服务器 这在过去已经工作了无数次 但现在我在设置新网站时遇到错误 remote fatal You are on a branch yet to be born 我一如既往地完成了与命令相同的系列
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • Hibernate MappingException:外键必须与引用的主键具有相同的列数

    我有一个名为 FatRabbitCarrot 的实体 Entity public class FatRabbitCarrot private Long id private FatRabbit fatRabbit private Carro
  • STS 无法在我的计算机上启动

    我试图在 eclipse 上设置 Spring mvc 项目 基本项目进展顺利 但是使用 Restful 服务 Jersey 等开始出现许多与依赖项相关的错误 所以我打算转到STS 我正在使用 STS 2 9 2 它给我 无法创建java虚
  • 无法连接到我的 aws ec2 实例上的 neo4j 服务器 - 端口 7474

    在我的 aws ec2 实例上安装 neo4j 后 以下内容似乎表明服务器已启动 bin neo4j console Active database graph db Directories in use home usr local sh
  • 如何在 C 中对 .txt 文件内的数据进行排序

    我是新来的C编程 现在我正在编写一个程序C它读取 txt 文件并将数据存储到另一个 txt 文件中 例如 open 20150101 txt 然后获取里面的数据 2015010103I 2015010102O 然后将其存储在2015JAN
  • 使用Entity Framework时,设置FK时应该设置导航属性还是外键属性?

    我有一些代码看起来像这样 var customer dbcontext Customers Find 1 var order new Order order CustomerId customer Id dbcontext Orders A
  • Prolog 中的迷你数独求解器中途停止

    我正在学习 七周七种语言 我只是想从书中找到一个例子 它解决迷你数独网格 4x4 作者使用的是 gprolog 但我使用的是 swi prolog 无论出于何种原因 我都无法让 gprolog 在我的虚拟机上工作 但 swi prolog
  • g++ 内联汇编括号中不匹配

    g 向我抱怨以下代码中缺少括号 1 2 3 v v v asm volatile inb 1 0 a result Nd portnumber 1 2 3 正如您所看到的 括号是匹配
  • 异步下载文件到客户端

    我很难完成某件事 我正在使用 asp net MVC 4 构建邮件客户端 我现在必须将与消息 而不是附件 相关的图像下载到客户端浏览器 现在我有这个设置 客户端浏览器 gt 控制器 后端 gt 邮件服务器 澄清一下 我有一个客户端请求 其中
  • Azure 函数的 Zip 部署成功,但 Azure 中的函数为空

    您好 我有一个 Azure 函数计时器 我正在尝试通过 ZIP 部署进行部署 它成功了 但 Azure 中的函数是空的 我用于部署的 cmd 是az functionapp 部署源 config zip g resourceGroupNam
  • iPhone更新应用程序版本(在“设置”中)[重复]

    这个问题在这里已经有答案了 可能的重复 如何在应用程序的设置包中显示应用程序版本修订 https stackoverflow com questions 877128 how can i display the application ve