masalibの日記

システム開発、運用と猫の写真ブログです

【Swift】CocoaPods導入手順

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のインストール

  1. ターミナルを開く

    Finderから「アプリケーション」>「ユーティリティ」>「ターミナル」を選択するか、Spotlight検索で「ターミナル」と入力して開きます。

  2. 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)"
    
  3. CocoaPodsのインストール

    Homebrewを使用してCocoaPodsをインストールします。ターミナルで以下のコマンドを実行してください。

     brew install cocoapods
    

CocoaPodsの使用

  1. Podfileの作成

    Xcodeプロジェクトのディレクトリに移動します。ターミナルで以下のコマンドを使用して、プロジェクトのルートディレクトリに移動します(「YourProjectName」は実際のプロジェクト名に置き換えてください)。

     cd /path/to/YourProjectName
    

    プロジェクトのルートディレクトリで以下のコマンドを実行し、Podfileを作成します。

     pod init
    
  2. 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
  1. ライブラリのインストール

    Podfileに必要なライブラリを記述したら、ターミナルで以下のコマンドを実行して、それらのライブラリをプロジェクトにインストールします。

     pod install
    

    このコマンドを実行すると、CocoaPodsが依存関係を解決し、指定されたライブラリをインストールします。プロセスが完了すると、 .xcworkspaceファイルが作成されます。

  2. 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に関連する一時ファイルの作成が許可されていない状況です。

色々調べてみたら

appdev-room.com

というのがでた

解決方法はXcodeの「Build Settings」>「User Script Sandboxing」の値をNoにすることでエラーが解消することができました。

ここの値はXcode14まではデフォルトがNOでしたがXcode15からYESに切り替わったようです 初心者でこのエラーは辛いよ

参考URL https://qiita.com/s11y/items/3090290cb72434852460