警告
このツールは、現在推奨されていません。
はじめに
2019年2月にリリースされた、「kintone iOS SDK」について紹介します。
今回リリースされた「kintone iOS SDK」を使うと、SwiftやObjective-Cでより簡単にkintone REST APIを実行できます。
GitHub
https://github.com/kintone-labs/kintone-ios-sdk/
ドキュメント
今回は、kintone iOS SDKの導入方法と実行を、サンプルを用いて説明します。
開発はXcodeで行います。
実行できる環境でお試しください。
Xcode
https://developer.apple.com/jp/xcode/
注意事項
ソースコードの変更および再配布、商用利用等はライセンスにしたがってご利用可能です。
導入方法
swiftのライブラリ導入方法はパッケージマネージャーか、自身でソースコードをビルドする方法があります。
今回はXcodeの「Single View App」プロジェクトで、パッケージマネージャーを使用して導入方法を紹介します。
「sample_project」という名前でプロジェクトを作成してください。
Xcode > Preferences > Locationsでコマンドラインツールを下図のように設定します。
インストール
Cocoapods
主要なパッケージマネージャーの1つです。
Cocoapods自体のインストールは公式サイトを参考にご自身で設定してください。
Cocoapods
プロジェクトが保存されているディレクトリで以下のコマンドを実行しPodfieを作成してください。
|
|
以下のサンプルを参考に、Podfileを修正してください。
|
|
下記コマンドを実行することでXcodeプロジェクト内にSDKがインストール可能です。
|
|
コマンド実行後、ディレクトリ内に拡張子が「sample_project.xcworkspace」のファイルが生成されます。
このファイルをXcodeで開き、一度ビルドするとワークスペース内でSDKが使用可能になります。
Carthage
CarthageはHomebrewからインストール可能です。
GitHubのドキュメントを参考にご自身でインストールしてください。
https://github.com/Carthage/Carthage
プロジェクトが保存されているディレクトリにCartfileを作成してください。
|
|
Cartfileに以下のように記述してください。
|
|
Cartfileの編集が完了したら次のコマンドを実行しライブラリをダウンロードします。
|
|
ダウンロードが完了すると「Sample_project/Carthage/Build/iOS」フォルダー内に以下の3つのframeworkが作成されます。
- FBLPromises.framework
- Promises.framework
- kintone-ios-sdk.framework
作成されたframeworkファイルをプロジェクトにインポートする必要があります。
下図を参考にインポートしてください。
サンプル
ドキュメントのQuickstartにも掲載されている簡単なサンプルコードを用いて、実行方法とレスポンスについて説明していきます。
サンプルコードでは、kintoneアプリからレコードを1件取得する機能を実装しています。
準備として、kintoneアプリを作成し、下表をもとにフィールドを追加し、閲覧権限を付与したAPIトークンを作成してください。
フィールドタイプ | フィールドコード |
---|---|
文字列 (1行) | text |
サンプルコード(ファイル名:ViewController.swift
)
次のサンプルコードをコピーし、「sample_project」内の「ViewController.swift」を書き換えてください。
|
|
以下の情報は、ご自身の環境に合わせて書き換えてください。
- APIトークン
- 認証情報
- サブドメイン
- アプリID
実行例
Xcode上で左上の「▶︎」マークをクリックするか、⌘ + Rで実行してください。
リクエストに成功すると、次のようなレスポンスが返ってきます。
サンプルコード解説
Authentication
サンプルコード30〜31行目についての解説です。
この部分では、kintoneに接続するための、認証方法について定義します。
|
|
Authentication
クラスがあり、パスワード認証、APIトークン認証、Basic認証を設定できます。
認証の優先度は以下のとおりです。
参考:
認証の優先順位
- パスワード認証
- APIトークン認証
セッション認証はkintone iOS SDKでは実装できません。
パスワード認証
|
|
APIトークン認証
|
|
Basic認証
|
|
Connectionクラス
34行目のConnection
クラスでは、接続について設定できます。
接続先のドメイン情報と、先ほど作成した認証情報を使ってkintone環境に接続します。
通常のスペースの場合
|
|
ゲストスペースの場合
|
|
Recordクラス
最後に、37〜50行目についてです。
|
|
この部分は、実際にkintoneのREST APIを実行する処理です。
サンプルでは、レコードを1件取得するために、Record
クラスのgetRecord関数を使用しています。
getRecord関数には次の引数を指定します。
名称 | データタイプ | 必須 | 説明 |
---|---|---|---|
appID | Integer | ✔ | アプリID |
recordID | Integer | ✔ | レコード番号 |
Record
クラスには、後述のとおり、レコード1件取得以外にも、さまざまな関数が用意されています。
その他の機能について
Recordクラス
先ほどのサンプルコードで使用した関数が定義されているクラスです。
アプリのレコードに対し、取得/登録/更新/削除、/ステータスの変更を実施する関数や、コメントの取得/登録/削除を実施する関数が実装されています。
実装されている関数の例として、次の関数が実装されています。
- getRecord
- getRecords
- addRecord
- addRecords
- updateRecords
- deleteRecords
- updateRecordStatus
- getComments
- addComment
- deleteComment
他にもさまざまな関数が用意されています。
詳細はドキュメントを確認してください。
Record
BulkRequestクラス
複数のアプリに対して、同時に複数のAPIをリクエストできます。
BulkRequest
クラスで使用できる関数は次のドキュメントを確認してください。
BulkRequest
また、BulkRequestを実行する際は次のことに注意してください。
- BulkRequestを実行し、レスポンスを取得する際は、 execute 関数を実行する。
- 一度に実行できる関数は、excecute関数をのぞいて20個まで。
BulkRequestサンプル
|
|
Appクラス
アプリの情報を取得する関数が定義されているクラスです。
アプリの閲覧権限が必要です。
App
クラスで使用できる関数は次のドキュメントを確認してください。
App
Appサンプル
|
|
型について
kintone iOS SDKでは、各APIのレスポンスに独自の型を利用しています。
それぞれコンストラクタや利用できるメソッドが違うのでドキュメントを確認して利用してください。
AppModel
おわりに
iOSやmacOSのアプリ開発において、kintone REST APIを実行しやすくなりました。
この機会にkintone iOS SDKをご活用ください。
このTipsは、2019年2月版kintoneで動作を確認しています。