【重要なお知らせ】新プロジェクトはコマンドライン
前のバージョンまでは、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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。