Class: Pod::Command::XCFramework
- Inherits:
-
Pod::Command
- Object
- Pod::Command
- Pod::Command::XCFramework
- Includes:
- Config::Mixin
- Defined in:
- lib/cocoapods-xcframework/command/xcframework.rb
Overview
Create a PR to add your plugin to CocoaPods/cocoapods.org in the ‘plugins.json` file, once your plugin is released.
This is an example of a cocoapods plugin adding a top-level subcommand to the ‘pod’ command.
You can also create subcommands of existing or new commands. Say you wanted to add a subcommand to ‘list` to show newly deprecated pods, (e.g. `pod list deprecated`), there are a few things that would need to change.
-
move this file to ‘lib/pod/command/list/deprecated.rb` and update the class to exist in the the Pod::Command::List namespace
-
change this class to extend from ‘List` instead of `Command`. This tells the plugin system that it is a subcommand of `list`.
-
edit ‘lib/cocoapods_plugins.rb` to require this file
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(argv) ⇒ XCFramework
constructor
A new instance of XCFramework.
- #run ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize(argv) ⇒ XCFramework
Returns a new instance of XCFramework.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/cocoapods-xcframework/command/xcframework.rb', line 43 def initialize(argv) @name = argv.shift_argument @source = argv.shift_argument @spec_sources = argv.option('spec-sources', 'https://github.com/CocoaPods/Specs.git').split(',') subspecs = argv.option('subspecs') @subspecs = subspecs.split(',') unless subspecs.nil? @configuration = argv.option('configuration', 'Release') @use_modular_headers = argv.option('use-modular-headers', true) @force = argv.flag?('force', true) @use_static_library = argv.flag?('static-library',true) @enable_bitcode = argv.flag?('enable-bitcode',false) @symbols = argv.flag?('symbols',true) @support_maccatalyst = argv.flag?('support-maccatalyst',true) @support_dynamic = argv.flag?('support-dynamic',false) config.static_library_enable = @use_static_library super end |
Class Method Details
.options ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/cocoapods-xcframework/command/xcframework.rb', line 28 def self. [ ['--no-force', 'Overwrite existing files.'], ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'], ['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependent pods from (defaults to https://github.com/CocoaPods/Specs.git)'], ['--subspecs', 'Only include the given subspecs'], ['--use-modular-headers', 'pakcage uses modular headers during packaging'], ['--no-static-library', 'package not use static library'], ['--enable-bitcode', 'package enable bitcode'], ['--no-symbols', 'package not use symbols'], # 符号表 ['--no-support-maccatalyst', 'package support generate MacCatalyst'], # 是否支持MacCatalyst方式支持iOS应用在mac平台运行库生成 ['--no-support-dynamic', 'package support Mach-O dynamically linked shared library'] # 是否支持动态库生成 ].concat super end |
Instance Method Details
#run ⇒ Object
66 67 68 69 70 |
# File 'lib/cocoapods-xcframework/command/xcframework.rb', line 66 def run UI.puts "argvs @name:#{@name} @source:#{@source} @spec_sources:#{@spec_sources}" frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force, @use_modular_headers, @enable_bitcode, @symbols, @support_maccatalyst, @support_dynamic) frameworker.run end |
#validate! ⇒ Object
61 62 63 64 |
# File 'lib/cocoapods-xcframework/command/xcframework.rb', line 61 def validate! super help! 'A Pod name is required.' unless @name end |