CALENDAR
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
<   December 2011
CATEGORIES
SELECTED ENTRIES
RECENT COMMENT
RECENT TRACKBACK
BLOG VIEW
SEARCH THIS BLOG
macTips SOFTWARE'S
for OS X
QuickCopy mini
QuickCopy
aLunch
mCounterDataCreator
OrderOfLaunch
Notifies
SpeedCopy
QuitApp++
Vol'sAccess
SpotlightColorChange
for iPhone
aLaunchControlleraLaunch
Controller
PhotoMemoriesPhotoMemories
SoundShutterSoundShutter
PhotoZipSendPhotoZipSend
mCountermCounter
MoneyCalcMoneyCalc
MoneyCalc LiteMoneyCalc Lite
ARCHIVES
LINKS
PROFILE
COUNTER
LAST UPDATE
  • 12/01/18

Sparkle

Sparkle、物凄く便利なのですが、1回組み込むとフレームワークのバージョンを上げるだけの作業になるので、新しいアプリケーションを作った時に導入方法を忘れてしまったりします。
今回は自作ソフトで、ソフトウェアの自動アップデートを可能にするフレームワーク、Sparkleの導入の仕方を忘備録がわりに。

まず、 http://sparkle.andymatuschak.org/ の "Get Sparkle 1.5 b6" をダウンロードします。(現時点では1.5 b6ですが、新しいバージョンをダウンロードします)
ダウンロードしたZipファイルを解凍すると、ドキュメントなどが入っていると思います。
軽くドキュメントに目を通しておきます。

この中で、必要なのは、"Extras" と "Sparkle.framework" です。

"Sparkle.framework" をプロジェクトのディレクトリの中にコピーします。(Frameworkフォルダを作ったり)
Sparkle


続いて、Framework フォルダに追加した Sparkle.framework を Xcode のプロジェクトに追加します。
Sparkle


ターゲットのアプリ名を右クリックして、「追加」「新規ビルドフェーズ」「新規コピーファイル」選択します。
Sparkle
情報ウインドウの、デスティネーションをフレームワークにして閉じます。

「ファイルをコピー」が出来たら、Linked Framework から Sparkle.framework をドラッグアンドドロップして追加します。
Sparkle


ここまで出来たら、次は Window などが有る xib(nib) を開きます。
Library から Object を 追加して Class を SUUpdater にします。
Sparkle


Windowへボタンを配置し、先ほど作った Updater(Object) へ Action を繋げIBは閉じます。
Sparkle

次はXcodeを離れてFinderで作業します。
ダウンロードして解凍したフォルダの Extras→Signing Tools を開きます。
Terminal.appを起動して、ruby と入力し、スペースを入力した後、
Signing Toolsフォルダの中にある、"generate_keys.rb" をTerminal.appへドラッグアンドドロップしてreturnキーを押します。


If you lose it, your users will be unable to upgrade! が表示され、プロンプトが表示されたら、ホームディレクトリに移動し、"dsa_priv.pem" と "dsa_pub.pem" が出来ている事を確認します。
(この二つは無くすと後々厄介ですので、 忘れないように保存しておきます。)


続いて、" dsa_pub.pem" を プロジェクトのディレクトリのResourcesフォルダへコピーし、Xcode の Resources にも追加します。
Sparkle


追加出来たら、Info.plist へ必要な情報を追加します。
追加する内容は、Keyが「SUPublicDSAKeyFile」 Valueが「dsa_pub.pem」と Key が 「SUFeedURL」Valueが「 web上へ置くxmlのアドレス」です。

InfoPlist.strings を開き、SUFeedURL = "web上へ置くxmlのアドレス"; を追加します。
(例:SUFeedURL = "http://www.hoge.jp/AppName/Updates/en/AppName.xml";


これでアプリケーション側は終わりです。後は xml と表示する html を作成し、Webへアップロードして終わりです。


最後に、アプリケーションのアップデートの際は "dsaSignature" を新しくする必要があります。
ビルド後にZip圧縮したら、ターミナルで
ruby[S]Extras/Signing Tools/sign_update.rb[S]zipのPath[S]保存している dsa_priv.pem
で dsaSignature を作成しWeb上のxmlを変更します。
※[S]はスペース


Xcodeのバージョンが上がったり、Sparkleで大きな変更が有った場合は、記述通りにいかないかもしれませんので、ご注意を。
また、今回の組み込み方法はデジタル署名を使用した例です。

| Programming | | コメント (0) | トラックバック (0) |
TRACKBACK

このエントリーのトラックバックURL:
http://mactips-lib.net/mt/mt-tb.cgi/436

コメントを投稿


画像の中に見える文字を入力してください。