LoginSignup
30
25

More than 5 years have passed since last update.

Parseを利用したiOSアプリケーションの試作(第一回)

Posted at

はじめに

MBaaS(MobileBackend as a Service)である"Parse"を利用してiOSアプリケーションを作成してみます。
私は、少し前から独学でプログラミングをはじめた初心者です。記事を作成するにあたり、誤った記載などがあるかもしれません。もしそのような内容を見つけられた場合には、コメントなどでご指摘いただけると幸いです。

当記事は、以下のような人を対象として記載しています。

上述のような人を対象としているため、全くXcodeを触ったことがない人が読むと、StoryBoardの使い方などがわからず、アプリ制作が嫌になってしまう恐れがあります。初心者向けの本を一冊やるか、ドットインストールなどのサービスで一通り学習してみてください。

オススメは、以下の本です。書籍後半にはゲームを作れるSpriteKitについての記載もあり、楽しく学習できると思います。

Parseとは

Parseは、2013年にFacebookに買収されたことでも注目を浴びた、世界最大級のMBaaSです。簡単に言うと、ParseのSDKを用いることで、サーバにデータを保存するために書かなきゃいけない"あれやこれや"をサクッと書けるようにしてくれるサービスです。Parse以外には、以下のようなMBaaSがあるようです。

MBaaSについて詳しくまとめてくださっている方がいらっしゃるので、こちらをご参照ください。

これから作るもの

これから3回に分けて、以下のような機能をもったアプリケーションを作成したいと思います。

  • Emailによるログイン機能
  • 文字や画像を投稿し、それらを閲覧できる機能

第一回の目標は、Xcodeを利用してParseのライブラリをインポートし、サーバに接続できることを確認します。

Parseの登録

Parseを利用するためには、まずParseのサービスに登録する必要があります。登録は、Parseの画面右上の"Sign up for Free"から簡単に登録できます。

登録が完了すると、アプリケーションが作成できるようになっていると思います。メニューの"+Create App"から新規アプリケーションを作成します。アプリケーションの名前は、"ParseSample01"にしています。

作成が完了すると、Parseに接続するためのキーなどが表示されます。"Quickstart Guide"をクリックし、ご自分の環境に合わせて画面を進めてください。

  • Data

  • Mobile

  • iOS

  • Swift

  • Existing project

選択し終えると、以下のような画面が表示されていると思います。今回は、Parse社にて用意されている"Download the blank Xcode Project(parse-starter-project)"は使用せず、Xcodeから新規にプロジェクトを作成し、Parseへの接続を行います。

Parse Liberaryの導入

プロジェクト作成前に、下記リンクから最新のParseSDKをダウンロードしておきます。
Parse - Parse Library(最新)

ダウンロードが完了したらXcodeを立ち上げ、新規プロジェクト(Single View Application)を作成し、プロジェクトにParseのフレームワークを追加していきます。まず、以下のようにプロジェクトを作成しました。

フレームワークは以下のようにドラッグで追加するか、"Linked Frameworks and Libraries"の"Add other"から追加してください。

Libraryは、プロジェクトにコピーしておくと良いでしょう。

※Frameworksフォルダを作成するには、プロジェクト名を右クリックし、"New Group"をクリックして下さい。

合わせて、Parseが使用するiOS標準のフレームワークも追加します。

  • AudioToolbox.framework
  • CFNetwork.framework
  • CoreGraphics.framework
  • CoreLocation.framework
  • QuartzCore.framework
  • MobileCoreServices.framework
  • Security.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • libz.dylib
  • libsqlite3.dylib

これでフレームワークの追加は完了です。

Parseへの接続確認

ここでは、Parseで用意されているテスト機能を利用して接続が行えているか確認します。
Parseでアプリケーションを作成後に表示される"Install the SDK"の下部に表示されている"Test"機能を用います。

当該のテストは、作成したアプリケーションからParseに接続し、PFObjectが保存できるかどうかを試すものです。"Test the SDK"にあるとおり、"AppDelegate"にアプリケーションのキーを設定し、ViewControllerにParseへオブジェクトを保存する処理を記述します。"import Parse"を忘れると"Use of unresolved identifier 'PFObject'"と怒られてしまうので、注意してください。
以下がテストを行うためのコードです。(※キーの部分はご自身の環境に合わせて書き換えてください)

AppDelegate.swift


import UIKit
import Parse

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    Parse.setApplicationId("Your-Application-ID",
    clientKey: "Client-Key")

    return true
  }

  func applicationWillResignActive(application: UIApplication) {
  }
  func applicationDidEnterBackground(application: UIApplication) {
  }
  func applicationWillEnterForeground(application: UIApplication) {
  }
  func applicationDidBecomeActive(application: UIApplication) {
  }
  func applicationWillTerminate(application: UIApplication) {
  }
}

ViewController.swift


import UIKit
import Parse

class ViewController: UIViewController {

override func viewDidLoad() {
  super.viewDidLoad()

  let testObject = PFObject(className: "TestObject")

  testObject["name"] = "moco"
  testObject["age"] = 27

  testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
  println("Object has been saved.")
  }
}

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
  }
}

実行後、Parseの"Test"ボタンをクリックすると、以下のように表示されます。

これでテストはクリアです。

Parseの管理画面では、保存されたデータが確認ができたり、メール認証機能があったりするので、時間のあるときにを眺めてみてください。
次回は、ちょっとしたデータを保存できるようにしてみたいと思います。

GitHub

https://github.com/kazuyatamakoshi/ParseSample01

参考

30
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
25