LoginSignup
12
8

More than 1 year has passed since last update.

Swift Playgrounds のアプリを Git で管理する

Last updated at Posted at 2022-09-05

初めに

まず最初に Xcode の Playground とは違います のでmm
今回は Swift Playgrounds でアプリを開発する場合のお話です。

Swift Playgrounds とは

2016年に登場した iPad 上で Swift を学習できるアプリです。

当初はテンプレートの教材を Swift で学習するだけでした。

現在はバージョンが4.1までリリースされており、iPad のみならず Mac 上でも動作し、実際にリリースできるアプリが作成できるまでになりました。

どんなことができるの?

iOSDC Japan 2022 で LT をしました!
資料をあげたので、見ていただけると少しは理解が深まるかと思いますmm

Git での管理方法

少しクセがあるので、今回は記事として残しました。

iCloud と併用しない場合

  • Mac のみでしか開発しない
  • 個人でしか開発しない

そういった方には特に特別なことは必要ありません。
好きなように自分のディレクトリで管理してください。笑

iCloud と併用する場合

今回はこちらの説明が主になります。

Swift Playgrounds は iCloud で管理する前提のツールです。iCloud が使えることで、家では Mac で開発しつつ出先では iPad で開発できるなどのメリットがあります。

iCloud で共有できるため、通常は Git 管理を必要としないのですが、他者とプロジェクトを共有したいことはあるでしょう。その場合は、iCloud のために Apple アカウントを教えるわけにはいかないので、Git で管理することになります。

Git ファイルの設置

手順1

ローカルで Git 管理、または GitHub を使ってリモートで管理する場合、いずれも Git ファイルが必要なので、あらかじめ用意してください。

手順2

以下は開く方法の例です。
Swift Playgrounds からプロジェクトのあるディレクトリを開きます。

そのままルートに設置しましょう。

あとは、Terminal でプロジェクトに移動して、Git の操作を実行してください。

GitHub を使う場合の注意点

GitHib での管理方法には、いくつかの問題発生するので、それを記載しておきます。

- プロジェクトの Clone の仕方

実際のプロジェクトを例にしたいと思います。

Git を Swift Playgrounds のアプリ内部に設置したため、ディレクトリはこのような形になるでしょう。

これを他者に使ってもらう場合、clone の段階で1つのファイル(Swift Playgrounds のファイル)にする必要があります。なので、以下のように .swiftpm 拡張子をつけて clone をする必要があります。

example

.bash
$ git clone https://github.com/crane-hiromu/PadOSDC_Japan_App PadOSDC.swiftpm

こうすることで、すぐに動作するアプリを clone することができます。
プロジェクトの Readme などに書いておくと良いでしょう。

- Package.resolved の扱い

Package.resolvedGit で管理しましょう。

Swift Playgrounds 4.1 のバグとして、Package.resolved がないと、Mac でプロジェクトを開く場合にクラッシュするからです。

もし、Package.resolved を管理したくない場合は、以下をすることで解決できます。

  • iPad でアプリを起動する
  • Xcode でアプリを起動する

いずれかを1度でも行うことで、内部的に Package.resolved が作られるため、以降は Mac の Swift Playgrounds でも開けるようになります。

- Terminal の挙動

Terminal からプロジェクトに入り、 Git の操作をするでしょう。

その際、コマンドが一体効かなくなることがあります。
その場合は、一度ディレクトリを戻り、再度入り直すことで操作がし直せるようになります。

iPad のみで完結させる場合

以下のようなツールを使うことで Git の操作が可能になります。

- a-shell

iPhone や iPad 上でコマンドやプログラムを実行できるターミナルアプリ

- Working Copy

iOS 用の強力な Git クライアントアプリ

終わりに

Xcode の進化を見ると、いずれは Swift Playgrounds も Git に対応してほしいなとは思いつつ...
現状は iCloud もあるため、しばらくはないかなと思っています。

リポジトリ

以下に導入したアプリがあるので、参考程度に見ていただけますと🙏

その他

関連記事はこちら

12
8
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
12
8