相关疑难解决方法(0)

我的iphone应用程序如何检测自己的版本号?

我正在写一个iPhone应用程序.它已经发布,但我想添加一个显示其版本号的功能.

对于我发布的每个版本,我宁愿不必手动执行此操作...

在Objective-C中有没有办法找出我的应用程序的版本是什么?

iphone version ios

250
推荐指数
11
解决办法
11万
查看次数

如何在应用程序的设置包中显示应用程序版本修订?

我想在我的应用程序的设置包中包含应用程序版本和内部修订,例如1.0.1(r1243).

Root.plist文件包含这样的片段......

     <dict>
        <key>Type</key>
        <string>PSTitleValueSpecifier</string>
        <key>Title</key>
        <string>Version</string>
        <key>Key</key>
        <string>version_preference</string>
        <key>DefaultValue</key>
        <string>VersionValue</string>
        <key>Values</key>
        <array>
            <string>VersionValue</string>
        </array>
        <key>Titles</key>
        <array>
            <string>VersionValue</string>
        </array>
    </dict>
Run Code Online (Sandbox Code Playgroud)

我想在构建时替换"VersionValue"字符串.

我有一个脚本可以从我的存储库中提取版本号,我需要的是一种在构建时处理(预处理)Root.plist文件的方法,并替换版本号而不影响源文件.

iphone xcode application-settings settings-bundle

83
推荐指数
8
解决办法
5万
查看次数

如何在PHP中获取Subversion修订版号?

我希望我的PHP应用程序标有它使用的修订号,但我不想使用CruiseControl或更新文件并每次上传它.我该怎么办?

php svn revision

30
推荐指数
3
解决办法
3万
查看次数

如何让XCode向Info.plist文件添加构建日期和时间

最后......经过几年的观看和一个月的参与,我有机会向你们问一个我自己的问题.

我的老板不相信我(或任何进程)增加内部版本号,他还希望在应用程序中加入构建日期和时间.我想把它放到通常的Info.plist文件中.

我发现了这个相关的问题:

在iOS应用程序中构建信息(构建日期/时间应用程序)

根据那里的答案,我进入了Scheme Editor并将下面的脚本添加到Build阶段的"Post-Action"部分:

infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
builddate=`date`
if [[ -n "$builddate" ]]; then
    defaults write "${infoplist%.plist}" BuildDate "${builddate}"
fi
Run Code Online (Sandbox Code Playgroud)

在XCode中,我的Scheme Editor窗口如下所示:

不幸的是,BuildDate永远不会写入Info.plist.

将"$ {builddate}"更改为"$ builddate"也不起作用.我在剧本中添加了这一行:

echo "build date is $builddate" > /tmp/result.txt
Run Code Online (Sandbox Code Playgroud)

并且在书面文件中日期显得非常好.从上面的脚本将字符串写入Info.plist文件非常好,非常烦人.

总结一下,如何将日期添加到Info.plist文件中?

shell nsuserdefaults xcode4 info-plist xcode4.2

16
推荐指数
2
解决办法
7649
查看次数

在iOS应用程序中构建信息(构建日期/时间应用程序)

我正在寻找一种在iOS应用程序的构建过程中动态添加有关应用程序的信息的方法.

在测试期间,很高兴知道我在我的设备上安装的应用程序何时构建,并且可能是谁建立它也是一件好事.

我正在设想settings.app中的一个部分,它将提供用于调试目的的基本构建信息.我不希望在每次构建之前手动更新构建信息文件 - 应该动态生成数据.

iphone cocoa-touch build-process objective-c ios

9
推荐指数
2
解决办法
5658
查看次数


XCode 4:在Xcode中插入Subversion版本号

是的,这是非常相关的这个问题,但我认为这个问题是充分回答了的XCode 3.不知道这是否应合并与否.

所以 - 使用那里的类似指令,我一直有很好的效果,将构建数字编码到存档的.ipa文件中,这样Organizer会显示类似"1.0.3281"的版本(其中3281是通过下面的构建脚本附加的修订版)到我的iOS目标):

REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
echo "REV=$REV"
echo "#define kRevisionNumber @\"$REV\"" > ${PROJECT_DIR}/revision.h
echo "INFOPLIST_PATH=${INFOPLIST_PATH}"

BASEVERNUM=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${INFOPLIST_FILE}" | sed 's/,/, /g'`
echo "BASEVERNUM=$BASEVERNUM"
PLISTARG1="Set :CFBundleVersion $BASEVERNUM.$REV"
echo "PLISTARG1=$PLISTARG1"

/usr/libexec/PlistBuddy -c "$PLISTARG1" "${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
Run Code Online (Sandbox Code Playgroud)

然而,XCode 4(我已经爱上了)显然需要进行一些调整,因为这种神奇的方式只能起作用.以下是上述脚本的结果.

REV=3281
INFOPLIST_PATH=Foo.app/Info.plist
BASEVERNUM=1.0
PLISTARG1=Set :CFBundleVersion 1.0.3281
Run Code Online (Sandbox Code Playgroud)

我可以通过寻找在〜/库/.../ Foo.app/Info.plist,是的,它没有更新的正确版本,请参阅:

<key>CFBundleVersion</key>
<string>1.0.3281</string>
Run Code Online (Sandbox Code Playgroud)

显然有一个额外的文件需要更新..也许在.xcarchive?关于在哪里钻取的第一个建议?

iphone xcode xcode4

1
推荐指数
1
解决办法
2736
查看次数