SwiftPM：パッケージの依存関係を追加するときに、URLではなくパッケージ名で検索する方法

# はじめに

SwiftPMをアプリに初めて導入しようとしています！
まず、Xcodeプロジェクトにパッケージの依存関係を追加しようとしたところで、単純にGitHubのリポジトリ名で検索しても、検索結果がヒットしませんでした。
Apple公式サイトをみたところ、リポジトリのURLで検索すればいいが、URLで検索する代わりに、ある設定をすればGitHubでパッケージを検索できるようになるとのこと。
この記事では、その方法をまとめました。

# 方法の概要

Xcode に GitHub アカウントを追加することで、以下のリポジトリが、パッケージリポジトリに表示されるようになります。

- 自分の Git リポジトリ
- チームの Git リポジトリ
- スターしたリポジトリ（GitHub、GitHub Enterprise、GitLab、または自己管理型GitLabインスタンス上のリポジトリ）

# 方法の詳細

## Xcode で GitHub アカウントの登録画面を開く

Xcodeの [Preferences] > [Accounts] を開いて、左下の「＋」マークを選択してください。

![Screen Shot 2022-01-23 at 19.31.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/461ae2fd-8214-8cdc-f186-69141368a938.png)

表示された画面で [GitHub] を選択してください。

![Screen Shot 2022-01-23 at 19.31.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/993dcc28-065d-ac7c-0a0b-22cc6f74ac56.png)

GitHub アカウントへのサインイン画面が表示されます。
ここで、左下にある、[Create a Token on GitHub] を選択してください。
また、この画面はこのまま閉じないでおいてください。

![Screen Shot 2022-01-23 at 19.31.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/58eff85a-bb15-32bd-6a95-37c0ffe97bd8.png)

## GitHub ウェブサイトの個人設定からパーソナルアクセストークンを生成する

ブラウザで [GitHub ドキュメント](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) が表示されますので、それに沿って、パーソナルアクセストークンを生成していきます。

- パーソナルアクセストークンの生成画面の開き方
    - 1. ページの右上隅にあるプロフィール写真をクリックしてから、[Settings]をクリックします。
    - 2. 左側のサイドバーで、[Developer settings]をクリックします。
    - 3. 左側のサイドバーで、[Personal access tokens]をクリックします。
    - 4. [Generate new token]をクリックします。

[Personal access tokens] の生成画面では、アクセストークンの名前、有効期限、スコープを設定します。
スコープを設定する段階で、どのスコープを選択したらよいか迷うかもしれませんが、そこは先ほど Xcode で表示していた GitHub アカウントへのサインイン画面に記載してあります！その記載の通りに、チェックをしてください。

> GitHub personal access tokens must have these scopes set:
> - admin:public_key
> - write:discussion
> - repo
> - user

- パーソナルアクセストークンの生成の手順
    - 1. トークンにわかりやすい名前を付けます。
    - 2. トークンに有効期限を設定するには、[Expiration]ドロップダウンメニューを選択し、デフォルトをクリックするか、カレンダーピッカーを使用します。
    - 3. このトークンを付与するスコープまたは権限を選択します。
    - 4. [Generate token]をクリックします。

![Screen Shot 2022-01-23 at 19.31.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/9a747060-b39f-5598-fe40-0a7932e8a5e0.png)

## Xcode で GitHub アカウントの登録を完了する

パーソナルアクセストークンの生成が完了したら、再び Xcode へ戻ってください。
GitHub のアカウント、今生成したパーソナルアクセストークンを入力したら、 [Sign In] を選択してください。

![Screen Shot 2022-01-23 at 19.31.20_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/338b0be7-ea0a-0bd9-26b4-fa93cfea5a7b.png)

## パッケージの依存関係を追加するときに、パッケージ名の検索でヒットするか確認する

Xcode の [File] > [Add Packages...] を選択してください。

![Screen Shot 2022-01-23 at 20.10.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/a9fbf780-be3d-0d07-51a2-52c18ebfe114.png)

表示された画面の左側のサイドバーに、 GitHub が追加されていることがわかります。

![Screen Shot 2022-01-23 at 20.10.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/a73ffa2b-456a-b85b-63ef-60fb723a9741.png)

右上の検索バーで、パッケージ名を入力すると、パッケージが表示されることが確認できます。
ただし、上記に記載したように、自分やチームのパッケージ以外では、スターしたパッケージしか表示されないことにご留意ください。

![Screen Shot 2022-01-23 at 20.10.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292215/b967a5e9-b726-0444-9c21-bcf182d6830f.png)

# おわりに

いちいちURLを検索するのも手間なので、もしこういった設定をしたことがない方は、試してみてもよいかもしれません！
ご覧いただきありがとうございました。

# 参考資料

- [Apple Documentation: Framework) Swift Packages](https://developer.apple.com/documentation/swift_packages)
- [Apple Documentation: Article) Adding Package Dependencies to Your App](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app)