CocoaPods導入手順　【エラー発生の解決】

## 背景
CocoaPodsをインストール、導入する時に発生する問題を解決するために導入手順を作成しました。

- [ターミナルのアプリにフルディスクアクセスを許可](#ターミナルのアプリにフルディスクアクセスを許可)
- [CocoaPodsのインストール](#cocoapodsのインストール)
- [Homebrewのインストール](#homebrewのインストール)
- [Rubyの環境設定](#rubyの環境設定)
- [Rubyのバージョンアップ](#rubyのバージョンアップ)
- [再度CocoaPodsのインストール](#再度cocoapodsのインストール)
- [Podfileの作成](#podfileの作成)
- [Podfileの編集](#podfileの編集)
- [Xcodeプロジェクトにpodインストール](#xcodeプロジェクトにpodインストール)
- [Xcodeプロジェクトのクリーンビルド](#xcodeプロジェクトのクリーンビルド)
- [SwiftPackageManager](#swiftpackagemanager)

:::note info
既存のプロジェクトで実行すると問題点が切り分けられなくなるため、Xcodeプロジェクトを新規作成して実行してください。
:::

## 環境
- MacBook Pro 13-inch, M1, 2020
- macOS Sequoia 15.5
- XCode Version 16.4

:::note info
環境が変わると発生する問題点が変わりますので注意してください。
:::

## ターミナルのアプリにフルディスクアクセスを許可
システム設定アプリ
[プライバシーとセキュリティ] -> [フルディスクアクセス] -> [ターミナル]
![プライバシーとセキュリティ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94784/66108caf-48b2-41e3-b1cd-720b25894ba8.png)
![ターミナル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94784/9aac420b-e8bb-4902-b55e-31765ff98d23.png)

## CocoaPodsのインストール
https://cocoapods.org/

```ruby:ターミナル
sudo gem install cocoapods
```

```ruby:エラーが発生した場合、次の対応に進みます。
ERROR:  Error installing cocoapods:
	The last version of securerandom (>= 0.3) to support your Ruby & RubyGems was 0.3.2. Try installing it with `gem install securerandom -v 0.3.2` and then running the current command again
	securerandom requires Ruby version >= 3.1.0. The current ruby version is 2.6.10.210.
```
Rubyのバージョンを3.1.0以上にする必要があります。
brewコマンドを実行できる様にHomebrewのインストールが必要です。

## Homebrewのインストール
https://brew.sh/ja/

```ruby:ターミナル
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

```ruby:インストール時にパスワード入力を促されますので、入力してください。
Password:
```

```ruby:Xcode Command Line Toolsのダウンロードするか問われますので、Enterキーでダウンロードします。
==> The Xcode Command Line Tools will be installed.

Press RETURN/ENTER to continue or any other key to abort:
```

```ruby:インストール時にパスワード入力を促されますので、入力してください。
Password:
```

```ruby:ワーニングが発生した場合、次の対応に進みます。
Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
```

## Rubyの環境設定
```ruby:brewコマンドへのパスを通すため、.zshrcファイルに追加します。
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)" \neval "$(rbenv init - zsh)"') >> ~/.zshrc
```

```ruby:~/.zshrcの設定を反映します。
source ~/.zshrc
```

```ruby:rbenvのインストール
brew install rbenv ruby-build
```

## Rubyのバージョンアップ
```ruby:rbenvのインストールできるバージョンを確認します。
rbenv install -l
```

```ruby:Rubyの安定バージョンで要求バージョン以上をインストールします。
rbenv install 3.4.4
```

```ruby:グローバル設定を更新します。
rbenv global 3.4.4
```

```ruby:設定が反映されていることを確認します。
rbenv versions
```

```ruby:下記の様にバージョンが設定されていることを確認します。
  system
* 3.4.4 (set by /Users/hoge/.rbenv/version)
```

```ruby:Rubyのバージョンを確認します。
ruby -v
```

```ruby:下記の様にバージョンが設定されていることを確認します。
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [arm64-darwin24]
```

## 再度Cocoapodsのインストール
```ruby:ターミナル
sudo gem install cocoapods
```

```ruby:下記の様に正常にインストールされたことを確認します。
...省略
Successfully installed cocoapods-1.16.2
34 gems installed
```

## Podfileの作成

```ruby:Xcodeプロジェクトのディレクトリに移動して実行します。
pod init
```
ディレクトリにPodfileが作成されたことを確認します。

## Podfileの編集
```ruby:Podfileをテキストエディタで開きます。
platform :ios, '9.0'

target 'MyApp' do
  # use_frameworks!
  pod 'Alamofire'
end
```
targetにインストールするライブラリを記述します。
今回はAlamofireをインストールします。

https://github.com/Alamofire/Alamofire

## Xcodeプロジェクトにpodインストール
```ruby:ターミナル
pod install
```

```ruby:正常にインストールされたことを確認します。
[!] Please close any current Xcode sessions and use `MyApp.xcworkspace` for this project from now on.
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
```

## Xcodeプロジェクトのクリーンビルド
Podのインストールで作成された、.xcworkspaceをXCodeで開きます。
- メニューより [Product] -> [Clean Build Folder...]を選択します。
- メニューより [Product] -> [Build]を選択します。

## SwiftPackageManager
https://www.swift.org/documentation/package-manager/

Xcodeプロジェクトのライブラリ管理にはいくつかの選択肢がありますが、ライブラリがSwift Package Managerに対応している場合は、Swift Package Managerで構成することができます。
Xcodeメニューでプロジェクトにインストールします。
CocoaPodsの導入手順は不要になります。