Cocoapods の原則 - デバッグ環境を構成する

バックグラウンド

iOS 開発者として、私は Cocoapods 命令を毎日扱っていますが、各命令がどのように機能するのか、エンジニアリング効率を向上させるために何ができるのかを検討する必要があります。このドキュメントはこのトピックの始まりです。

1. 環境

  • macOS バージョン: 13.1
  • RVMバージョン: 1.29.12
  • ルビーのバージョン:2.7.2
  • ローカルのココポッド/ポッドのバージョン: 1.5.3
  • ココアポッドのソースコード: 1.5.3

注: Cocoapods のソース コードは、ローカルの cocopods/pod バージョンに対応している必要があります。

2. プロジェクトの構成手順

  • ステップ 1: プロジェクト Cocoapods_debug を作成する
  • ステップ 2: Cocoapods_debug ディレクトリで、cocoapods ソース コードを Cocoapods ソース コード フォルダー (ここでは CocoaPods と呼びます) に配置します。読み込みパスは後で構成されます。
  • ステップ 3: Cocoapods_debug ディレクトリで、ポッド テスト プロジェクト (ここでは TestLibrary という名前) を作成し、後で読み込みパスを構成します。
    • 3.1 TestLibraryでpod initを実行する
    • 3.2 ポッドファイルの構成は次のとおりです
source 'https://cdn.cocoapods.org' 
source 'https://github.com/CocoaPods/Specs.git' 
#inhibit_all_warnings! 
platform :ios, '10.0' 

target 'TestLibrary' do
   pod 'Masonry'
end
  • ステップ 4: 次の内容を含む Gemfile を Cocoapods_debug ディレクトリに作成します。
source 'https://rubygems.org'

gem 'cocoapods', path: './CocoaPods' # 1 
gem 'ruby-debug-ide' # 2 
gem 'debase' 
#gem 'debase', '0.2.5.beta2' # 3 ruby3.0.0需要这个版本
  • ステップ 5: Cocoapods_debug ディレクトリで、bundle install を実行します。ここでさまざまな問題が発生します。Ruby、cocopods のバージョン、および Cocoapods のソース コードのバージョンが互いに対応しておらず、問題が発生しますが、上でコンパイルした環境のバージョンは問題ありません。

    • 問題: バンドルのインストール プロンプトの実行 エラー: debase のインストール中にエラーが発生しました: エラー: gem ネイティブ拡張機能のビルドに失敗しました。github.com/ruby-debug /…
    • 解決策: Debase は0.2.5.beta2にのみ依存できます 。その理由は、ruby 3.0.0 が debase バージョンをサポートしていないためです。
  • 第六步:vscode打开cocoapods_debug,第一次会提示创建一个launch.json或者自己新建 .vscode/launch.json,内容如下

{
    "configurations": [
      {
      "name": "Debug CocoaPods Plugin",
      "showDebuggerOutput": true,
      "type": "Ruby",
      "request": "launch",
      "useBundler": true,
      "cwd": "${workspaceRoot}/TestLibrary", // pod 命令执行的路径
      "program": "${workspaceRoot}/CocoaPods/bin/pod",
      "args": ["install", "--verbose"], // `pod` 命令的参数
      }
    ]
  }  
  • 第七步:按F5或者debug按键 就可以断点调试了
    • 问题1: [!] No `Podfile' found in the project directory.在源码调试的时候,我们明明创建了Podfile文件,仍报这个错误,同时还报了一个警告

    • 解决方案: 在 .bash_profile或者.zshrc文件里面,添加export LANG=en_US.UTF-8 即可,就解决了这个问题。

    • 问题2:提示source源问题

    • 解决方案:可以更换cdn或者github源

おすすめ

転載: juejin.im/post/7226696723354501157