一、前言
Pod::Spec.new do |s|
s.name = 'MyLibrary'
s.version = '1.0.0'
s.summary = 'A brief description of MyLibrary.'
# ...
s.dependency 'AFNetworking', '~> 4.0'
# ...
end
在制作pod庫時,我們需要寫好如上的.podspec文件, 但是我們看本地cocoapods的repos,發(fā)現里面都是json格式的.podspec, 那么它們有啥異同呢?

本地索引庫中的庫索引.png
二、異同
-
.podspec
使用 Ruby 語言編寫,描述了一個 Pod 庫的元數據信息,如名稱、版本、作者、依賴關系、源碼地址等。這個文件定義了庫的規(guī)范,是創(chuàng)建和發(fā)布 Pod 庫的重要文件。 -
.podspec.json
.podspec.json文件是.podspec文件的 JSON 表示形式。它將 .podspec 文件中的規(guī)范信息轉換成 JSON 結構,更易于機器處理和閱讀,但不適合人類直接編輯。
三、轉換方式
這里推薦使用ruby腳本來轉換:
1. 新建一個.rb為后綴的文件, 如:xxx.rb。
2. 文件中寫入以下代碼:
require 'cocoapods-core'
require 'json'
# 讀取 .podspec 文件內容
podspec_path = '/Users/dandy/Desktop/Home.podspec' # 你的 .podspec 文件路徑
# 解析 .podspec 文件內容
podspec = Pod::Specification.from_file(podspec_path)
# 將解析后的內容轉換為 JSON 格式
json_data = podspec.to_pretty_json
# 寫入 .podspec.json 文件
json_file_path = '/Users/dandy/Desktop/Home.podspec.json' # 你想要保存的 .podspec.json 文件路徑
File.write(json_file_path, json_data)
puts "Converted .podspec to .podspec.json: #{json_file_path}"
3. 命令行運行
ruby xxx.rb