1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

iPadのSwift Playgroundsで位置情報検索アプリを作る

Posted at

iPadのSwift Playgroundsを使うと、ちゃんと動作するiOSアプリが開発できます。Swiftパッケージの追加にも対応しているので、ニフクラ mobile backendのSDKをインストール・利用できます。

今回はSwift SDKを使って位置情報検索アプリを作ってみます。MapKitを利用したアプリになります。

実際の手順

細かな手順は以下の記事を参考にしてください。

リポジトリ

iPadで一からコードを書いていくのは意外と大変です。外付けキーボードはほぼ必須ですし、長いコードを書いていくのは時間がかかります。ということで、この記事では以下のリポジトリにあるコンテンツを使っていきます。

NCMBMania/swift_map_app

Swift PlaygroundsではGitリポジトリから取り込むと言った機能はないので、GitHubリポジトリでファイルを閲覧してraw(ソースコード)を全体選択してコピー、Swift Playgroundsでファイルを新規作成して貼り付けると言った作業を繰り返します。

03D73FF4-A1A8-416B-81CC-2C36C496AF17_1_101_o.jpeg

リソースファイルの取り扱い

今回は駅の位置情報について yamanote.json というファイルを利用しています。このリソースファイルをSwift Playgroundsで新規作成する方法が見つかりませんでした。

そこでmacOS側でiCloud Drive上に保存して、Swift Playrgoundsでファイル選択する方法をとりました。Windowsでは試したことがないのですが、Windows 用 iCloudを使えば同じことができそうです。

71ABD34A-31A4-4599-9FD0-631A353E15FB_1_102_o.jpeg

またはiCloud Drive for Webを使ってファイルアップロードする方法もあります。いずれにしてもiPadだけでJSONファイルをFileアプリに保存する方法が見つからなかったので、PCを経由する必要がありそうです。

image.png

MapKitについて

Swift Playgroundsでは import MapKit と書けばすぐに使えます。XcodeのようにCapabilitiesで追加する必要はなさそうです。なお、今回は現在位置は使っていないので問題ありませんが、そうした情報を使う場合のセキュリティ設定はどうするかは不明です。

NCMB Swift SDKの追加

Swift PlaygroundsでSwiftパッケージを選択します。

3078816E-25A1-441E-B954-6C4400478DE3_1_102_o.jpeg

URLに https://github.com/NIFCLOUD-mbaas/ncmb_swift と記述します。これでNCMB Swift SDKが読み込まれますので、追加ボタンをタップします。

C1AD93E6-3D74-4934-9B5F-06D3E5ACC078_1_102_o.jpeg

キーの書き換え

ContentView.swift に記載されているアプリケーションキー、クライアントキーをニフクラ mobile backendの管理画面で取得できるキーに書き換えてください。

struct ContentView: View {
    // Viewの初期化時に呼ばれるメソッド
    init() {
        // NCMBの初期化
        NCMB.initialize(applicationKey: "YOUR_APPLICATION_KEY", clientKey: "YOUR_CLIENT_KEY")
    }

これで準備完了です。

プレビュー

以上の手順をすべて終えると、プレビューでアプリの動作を確認できます。

image.png

駅情報のインポートも、地図をタップした際の動作も問題ありません。

image.png

まとめ

Swift Playgroundsを使えばWindowsを利用している方であってもiOSアプリを開発できます。MapKitも問題なく利用できるので、地図を使ったアプリ開発に使えそうです。

NCMBも利用できますので、ぜひアプリ開発に活かしてください。

mBaaSでサーバー開発不要! | ニフクラ mobile backend

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?