M1 MacにCocoaPodsをインストールしてXcodeで使う手順をご紹介します。M1チップを搭載したMacでは、いくつかの追加のステップが必要になる場合があります。
開発環境
OS
$ sw_vers
ProductName: macOS ProductVersion: 14.2.1 BuildVersion: 23C71
shellについて
Rosettaはインストールされている
shellはRosettaを使っている前提です
$ uname -m
x86_64
Xcode
$ xcodebuild -version
Xcode 15.3 Build version 15E204a
Cocoapods
$ pod -version
1.4.3
CocoaPodsのインストール
ターミナルを開く
Finderから「アプリケーション」>「ユーティリティ」>「ターミナル」を選択するか、Spotlight検索で「ターミナル」と入力して開きます。
Homebrewのインストール (まだの場合)
M1 MacにCocoaPodsをインストールする前に、Homebrew(パッケージマネージャー)がインストールされている必要があります。以下のコマンドでHomebrewをインストールできます。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrewのインストール後、以下のコマンドを実行して、ターミナルでHomebrewコマンドを使用できるようにします。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
CocoaPodsのインストール
Homebrewを使用してCocoaPodsをインストールします。ターミナルで以下のコマンドを実行してください。
brew install cocoapods
CocoaPodsの使用
Podfileの作成
Xcodeプロジェクトのディレクトリに移動します。ターミナルで以下のコマンドを使用して、プロジェクトのルートディレクトリに移動します(「YourProjectName」は実際のプロジェクト名に置き換えてください)。
cd /path/to/YourProjectName
プロジェクトのルートディレクトリで以下のコマンドを実行し、Podfileを作成します。
pod init
Podfileの編集
Podfileを開き、必要なライブラリを指定します。Podfileはプロジェクトのルートディレクトリにあります。テキストエディタで開いて編集します。例えば、FirebaseAnalyticsをプロジェクトに追加する場合は、Podfileに以下のように記述します。
platform :ios, '14.0' # 共通 def install_pods pod 'Firebase/Analytics', '8.15.0' end target 'inapppurchasetest' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for inapppurchasetest install_pods end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "14.0" end end end
ライブラリのインストール
Podfileに必要なライブラリを記述したら、ターミナルで以下のコマンドを実行して、それらのライブラリをプロジェクトにインストールします。
pod install
このコマンドを実行すると、CocoaPodsが依存関係を解決し、指定されたライブラリをインストールします。プロセスが完了すると、 .xcworkspaceファイルが作成されます。
Xcodeでの作業
ライブラリをインストールした後、「.xcodeprojファイル」ではなく、生成された「.xcworkspaceファイル」を開いて、Xcodeで作業を続けてください
この作業ででたエラー
Sandbox: rsync.samba(24373) deny(1) file-write-create /Users/masalib/Library/Developer/Xcode/DerivedData/inapppurchasetest-gcmthumwhaymfgcrpylvjcjoqbax/Build/Products/Debug-iphoneos/inapppurchasetest.app/Frameworks/ASValueTrackingSlider.framework/.ASValueTrackingSlider.eoX9S4
このエラーメッセージは、Sandboxがrsyncプロセスが指定されたパスにファイルを作成することを拒否したことを示しています。具体的には、XcodeのDerivedData内にあるinapppurchasetestプロジェクトのビルドプロセス中に、ASValueTrackingSlider.frameworkに関連する一時ファイルの作成が許可されていない状況です。
色々調べてみたら
というのがでた
解決方法はXcodeの「Build Settings」>「User Script Sandboxing」の値をNoにすることでエラーが解消することができました。
ここの値はXcode14まではデフォルトがNOでしたがXcode15からYESに切り替わったようです 初心者でこのエラーは辛いよ