Iphone Default.png中的动态版本编号

Iphone Default.png中的动态版本编号,iphone,objective-c,numbers,version,photoshop,Iphone,Objective C,Numbers,Version,Photoshop,我有一个Default.png,上面有一个版本号。每次我更新我的应用程序时,我都必须在lite和完整版本的default.png和default@2x.png. 麻烦,不是吗 我很确定我一直在走错方向。我该怎么做呢?(我想在发布时显示一个版本号,而不是完全禁用它。)编译时图像合成 如果您的徽标不需要更改版本号以外的内容,那么您可以在编译时使用所选的图形库来重构png。伪代码如下: 伪代码: 编译该程序并将其作为自定义构建工具保存。然后,无论何时需要构建应用程序,都可以将Logo.png编译为lo

我有一个Default.png,上面有一个版本号。每次我更新我的应用程序时,我都必须在lite和完整版本的default.png和default@2x.png. 麻烦,不是吗

我很确定我一直在走错方向。我该怎么做呢?(我想在发布时显示一个版本号,而不是完全禁用它。)

编译时图像合成 如果您的徽标不需要更改版本号以外的内容,那么您可以在编译时使用所选的图形库来重构png。伪代码如下:

伪代码: 编译该程序并将其作为自定义构建工具保存。然后,无论何时需要构建应用程序,都可以将Logo.png编译为logofail.png。如果您需要使用XCode或其他工具生成图像文件的帮助,我建议您在“动态版本控制”之外单独搜索图像处理工具

理想情况下,版本字符串将使用在易于编辑的表中定义的常量或由生成系统控制的常量。至少它可以让你在每次需要构建应用程序时都不用打开Photoshop

用于在正在运行的应用程序中显示 您应该使用字体在徽标顶部绘制版本号。然后,您可以只包含一个基于文本的资源文件,并且可以通过每个构建的自动化工具轻松地进行更新

来源
编译时图像合成 如果您的徽标不需要更改版本号以外的内容,那么您可以在编译时使用所选的图形库来重构png。伪代码如下:

伪代码: 编译该程序并将其作为自定义构建工具保存。然后,无论何时需要构建应用程序,都可以将Logo.png编译为logofail.png。如果您需要使用XCode或其他工具生成图像文件的帮助,我建议您在“动态版本控制”之外单独搜索图像处理工具

理想情况下,版本字符串将使用在易于编辑的表中定义的常量或由生成系统控制的常量。至少它可以让你在每次需要构建应用程序时都不用打开Photoshop

用于在正在运行的应用程序中显示 您应该使用字体在徽标顶部绘制版本号。然后,您可以只包含一个基于文本的资源文件,并且可以通过每个构建的自动化工具轻松地进行更新

来源

苹果公司的人机界面指南规定,Default.png不应用作启动屏幕;它应该表示应用程序将显示的所有UI控件,但没有任何可本地化的文本或内容。(想想iPod和Contacts等内置应用程序的行为。)

如果你是为客户做的,而他们要求这样做,你可以使用“但应用商店可能会因为违反他们的条款而拒绝!”论点

当然,如果您不向商店提交,或者您只是不在乎,则这不适用。:)


为上面发帖的人提供的一个技术附加组件:确保在执行
pngcrush
之前运行您添加到构建过程中的任何png合成,这样您就不会用生成(可能未优化)的脚本替换优化的图像。不管怎样,如果你在
pngcrush
运行后尝试运行它(它不显示),你也可能会遇到奇怪的问题。

苹果的人机界面指南说Default.png不应该用作启动屏幕;它应该表示应用程序将显示的所有UI控件,但没有任何可本地化的文本或内容。(想想iPod和Contacts等内置应用程序的行为。)

如果你是为客户做的,而他们要求这样做,你可以使用“但应用商店可能会因为违反他们的条款而拒绝!”论点

当然,如果您不向商店提交,或者您只是不在乎,则这不适用。:)


为上面发帖的人提供的一个技术附加组件:确保在执行
pngcrush
之前运行您添加到构建过程中的任何png合成,这样您就不会用生成(可能未优化)的脚本替换优化的图像。如果您在运行
pngcrush
之后尝试这样做(它没有显示),您也可能会遇到奇怪的问题。

如果它只是显示在Default.png上,并且应用程序立即从默认的.png转到实际的UI,那么就没有时间(也没有API)显示“字体”在发布映像上。True-看起来Xen需要使用一些脚本来更新映像-我将更新我的答案以考虑到这一点。这似乎是我正在寻找的-一个简单的程序来自动将版本号添加到映像中。理想情况下,它会确保新版本第一次编译时版本号匹配,但目前我可能无法做到这一点+1.脚本可以将写入Default.png的版本号保存在文本文件中,然后在重建Default.png之前读取文本文件,查看版本号是否已更改(以缩短生成时间)是的-这就是我对实际项目所做的-只有在配置文件发生更改时才构建目标文件。如果它只是显示在Default.png上,并且应用程序立即从该文件转到其实际UI,则没有时间(也没有API)显示“字体”在发布映像上。True-看起来Xen需要使用一些脚本来更新映像-我将更新我的答案以考虑到这一点。这似乎是我正在寻找的-一个简单的程序来自动将版本号添加到映像中。理想情况下,它会确保新版本第一次编译时版本号匹配,但目前我可能无法做到这一点+1.您的脚本可以将写入Default.png的版本号保存在文本文件中,然后在重建Default.png之前读取文本文件,以查看版本号是否
UpdateLogo(String logoName, String version)
{
    WidgetImage MyLogo(logoName + ".png");
    MyLogo.DrawText(800, 650, version);
    MyLogo.Write(logoName + "Final.png");
}

UpdateLogo("Logo.png", "Version 1.0.0");