Showrtpathブラウザ( http://showrtpath.com )のバージョンアップ開発でポケットをサポートしました。
Qiitaで、Pocket Objc SDKの組み込み方法を紹介したいと思います。
Pocket Objc SDKの入手方法
Pocket Objc SDKの入手方法の入手方法はいくつかあります。
- CocoaPodsで"PocketAPI"を追加する
- http://getpocket.com/api/v3/pocket-objc-sdk.zip をダウンロードする
- https://github.com/Pocket/Pocket-ObjC-SDK から入手する
上記のいずれかの方法で入手できます。
PocketのConsumerKeyの入手
Pocket Objc SDKを使うにはConsumerKeyの入手が必要です。
http://getpocket.com/developer/ で"CREATE NEW APP"ボタンで組み込みたいアプリを登録します。(要アカウント登録)
フォームが表示されますので入力します。
- Application Nameは、アプリの名前を入力します。
- Application Descriptionは、アプリの説明を入力します。
- Permissionsは、Pocket APIで操作する権限を設定します。ポケットへページ登録する場合はAddが必要です。
- Platformsは、アプリのプラットフォームを選択します。ShowrtpathブラウザはiPhoneとiPadで動作するので二つチェックしました。
登録が成功すると、http://getpocket.com/developer/apps/ にConsumerKeyが表示されるはずです。
プラットフォーム毎にConsumerKeyが生成されるようです。iPhone/iPad両方対応している場合は二つ生成されます。
コーディング
Pocket Objc SDKを使用して、ポケットにWEBページを保存したいと思います。
ConsumerKeyの設定
AppDelegateの- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsのタイミングで
[[PocketAPI sharedAPI] setConsumerKey:@"XXXXXXXXXXXXXXX"];
でConsumerKeyを設定します。
URLスキームの設定
XCodeで、
Identifier:com.getpocket.sdk
URL Schemes: pocketappXX
を設定します。
XXは例えばConsumerKeyが31361-d3h1df4b118daa7848d7c692である場合、pocketapp31361となります。
これは、PocketAPIを初回実行した場合、インストールされているPocketを起動してAPIの認証を行います。認証時に先ほどの、アプリ登録フォームの文章が表示されます。認証後、Pocketから自分のアプリのURLスキームpocketapp31361にコールバックされます。
つまりPocketAPIを使用する場合はPocketのインストールが必要になります。
そして、以下のようにしてコールバックのハンドリングします。
-(BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation{
if([[PocketAPI sharedAPI] handleOpenURL:url]){
return YES;
}else{
// if you handle your own custom url-schemes, do it here
return NO;
}
}
[[PocketAPI sharedAPI] handleOpenURL:url]
を`- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotationに記述します。
ここまで記述するとPocketAPIが利用可能になります。
PocketにWEBページを保存する
PocketにWEBページを保存します。
NSURL *url = [NSURL URLWithString:@”http://google.com”];
[[PocketAPI sharedAPI] saveURL:url handler: ^(PocketAPI *API, NSURL *URL, NSError *error){
if(error){
// there was an issue connecting to Pocket
// present some UI to notify if necessary
}else{
// the URL was saved successfully
}
}];
saveURL
で、ポケットに保存されます。初回実行時は、アプリの認証が始まるので、Pocketが起動して認証画面が表示されます。認証後、WEBページが保存されます。
2回目移行は、通常に実行できるようになります。
ブログ( http://showrtpath.hatenablog.com/ )でも同記事を紹介しています。