2013年8月25日日曜日

Force.com mobile SDK 2.0 for iOS

【重要なお知らせ】新プロジェクトはコマンドライン

前のバージョンまでは、XcodeのFile->New->New Project...でHyblid Force.com App / Native Force.com REST Appを選べばすぐにプロジェクトができていましたが、2.0ではコマンドラインから作る必要があります。簡単ですけども。

【重要なお知らせ】ARCに対応しました!

Xcode 5はARC対応のプロジェクトしか作れないですし。それにARC、慣れてしまえばそんなに悪いヤツじゃないですよw

■大まかな手順■

  • gitからcloneしてbuild
  • テンプレートをbuild
  • では、新しいプロジェクトを

参考ページは以下。
https://github.com/forcedotcom/SalesforceMobileSDK-iOS

以前より増えた分(テンプレートのbuild)
https://github.com/forcedotcom/SalesforceMobileSDK-iOS/blob/master/build.md

■gitからcloneしてbuild■

まず、適当なディレクトリに移動して、ターミナルから以下のコマンドを実行します。

git clone https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git
回線速度にもよりますが、数十秒程度。終了してプロンプトが出たら、次はgitが作ったプロジェクトの中に異動してビルドします。

    cd SalesforceMobileSDK-iOS/
    ./install.sh

これは回線やマシンの速度の応じてやっぱり数十秒から数分。SSDだと妙に速くて感動です。以前はこれでXcode用のテンプレートが自動的にインストールされていたのですが。

■テンプレートをbuild■

それではテンプレートをbuildします。

    cd build/
    ant 

今度はそれほど時間かかりません。

■では、新しいプロジェクトを■

    cd artifacts/
    cd NativeAppTemplate/ または cd HyblidAppTemplate/
    ./createApp.sh

これでテンプレート生成シェルから使い方が出てきます。

Usage:
createApp.sh
   -t <Application Type> (native, hybrid_remote, hybrid_local)
   -n <Application Name>
   -c <Company Identifier> (com.myCompany.myApp)
   -g <Organization Name> (your company's/organization's name
   [-o <Output directory> (defaults to this script's directory)]
   [-a <Salesforce App Identifier>] (the Consumer Key for your app)]
   [-u <Salesforce App Callback URL] (the Callback URL for your app)]
   [-s <App Start Page> (defaults to index.html for hybrid_local, and /apex/VFStartPage for hybrid_remote)]

では、素直にプロジェクトを作ってみます。com.company / companyはあなたご自身のものを使ってください。蛇足ですが。

    ./createApp.sh -t native -n TestForceMobile20 -c com.company -g company

ほんの一瞬で以下のメッセージが出来て終了します。

Creating app in SalesforceMobileSDK-iOS/build/artifacts/NativeAppTemplate/TestForceMobile20
Successfully created native app 'TestForceMobile20'.

あとは適当なディレクトリにコピーして、.xcodeprojをダブルクリックすればXcodeが起動します。

■プロジェクトについて■

コマンドラインで生成した時に指定しなかった場合にはAppDelegate.mのRemoteAccessConsumerKeyとOAuthRedirectURIを設定します。

生成されたコードはばっちりARC対応です。__weakが邪魔っすね。まだ慣れません。AppDelegate.mは1.xよりはかなり洗練されていて、いじりやすくなりました。例によってStoryboardには対応していませんが、setupRootViewControllerでnibではなくStoryboardから生成されるようにすれば問題ないはずです。

取り急ぎ、以上。

0 件のコメント:

コメントを投稿