1

私はDashcodeでダッシュボードウィジェットを書いています、そして裏側に、私はクレジットのための文字列を持っています。その文字列にウィジェットのバージョン番号を含めたいのですが、可能であれば、ウィジェットを更新するときに複数の場所で番号を変更する必要がないように、Info.plistのCFBundleVersionまたはキーからプログラムで取得したいと思います。CFBundleShortVersionString

Appleの開発者向けドキュメント、Google、およびさまざまなフォーラムでの検索は、これまでのところ無益であることが証明されています。私が知りたいのは、Appleに含まれているが言及するのを忘れた、これを行うための組み込みの方法があるvar version = widget.version();かどうか、または私のスクリプトが1つを抜く前にplist全体をプルして解析する必要があるかどうかです私が実際に欲しい価値。

あなたが提供できるどんな助けにも感謝します!

4

1 に答える 1

1

私は答えを見つけたようです.Dashcodeの「データソース」機能を使用して、Info.plistをXMLデータソースとして読み込みます. そこから、このブログ投稿は、plist の構造をトラバースして正しい文字列を取得する方法を示しました (この場合、<string>ファイルの 5 番目の要素で、CFBundleShortVersionString.

私が終わった機能:

function getWidgetVersion() {
    var dataSource = dashcode.getDataSource("infoPlist");
    var version = dataSource.selection().valueForKey("dict").valueForKey("string")[4]; // This line and the previous could probably be combined for the sake of brevity
    if (typeof(version) == 'string') {
        document.getElementById("creditsLabel").innerHTML += version; //I'll change this to just pass the number on
    }
}

divのテキストcreditsLabelは既にローカライズされた文字列で始まっているため、「バージョン 1.0」という小さなラベルが表示されます。

于 2012-05-02T07:35:24.220 に答える