Class: Pod::Xcode::XCFramework
- Inherits:
-
Object
- Object
- Pod::Xcode::XCFramework
- Defined in:
- lib/cocoapods/xcode/xcframework.rb,
lib/cocoapods/xcode/xcframework/xcframework_slice.rb
Defined Under Namespace
Classes: Slice
Instance Attribute Summary collapse
-
#format_version ⇒ Pod::Version
readonly
The format version of the .xcframework.
-
#path ⇒ Pathname
readonly
Path the path to the .xcframework on disk.
-
#plist ⇒ Hash
readonly
The contents of the parsed plist.
-
#slices ⇒ Array<XCFramework::Slice>
readonly
The slices contained inside this .xcframework.
-
#target_name ⇒ String
readonly
Target_name the target name this XCFramework belongs to.
Instance Method Summary collapse
-
#build_type ⇒ Pod::BuildType
The build type of the contained slices.
-
#includes_dynamic_slices? ⇒ Boolean
True if any slices use dynamic linkage.
-
#includes_static_slices? ⇒ Boolean
True if any slices use dynamic linkage.
-
#initialize(target_name, path) ⇒ XCFramework
constructor
Initializes an XCFramework instance with a path on disk.
-
#name ⇒ String
The basename of the framework.
-
#plist_path ⇒ Pathname
The path to the Info.plist.
Constructor Details
#initialize(target_name, path) ⇒ XCFramework
Initializes an XCFramework instance with a path on disk
35 36 37 38 39 40 41 42 43 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 35 def initialize(target_name, path) @target_name = target_name @path = Pathname.new(path).tap do |p| raise 'Absolute path is required' unless p.absolute? end @plist = Xcodeproj::Plist.read_from_path(plist_path) parse_plist_contents end |
Instance Attribute Details
#format_version ⇒ Pod::Version (readonly)
18 19 20 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 18 def format_version @format_version end |
#path ⇒ Pathname (readonly)
14 15 16 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 14 def path @path end |
#plist ⇒ Hash (readonly)
26 27 28 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 26 def plist @plist end |
#slices ⇒ Array<XCFramework::Slice> (readonly)
22 23 24 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 22 def slices @slices end |
#target_name ⇒ String (readonly)
10 11 12 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 10 def target_name @target_name end |
Instance Method Details
#build_type ⇒ Pod::BuildType
Note:
As CocoaPods does not support mixed packaging nor linkage for xcframework slices, we pick the first slice and assume all are the same
Returns the build type of the contained slices.
74 75 76 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 74 def build_type @build_type ||= slices.first.build_type end |
#includes_dynamic_slices? ⇒ Boolean
59 60 61 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 59 def includes_dynamic_slices? build_type.dynamic? end |
#includes_static_slices? ⇒ Boolean
65 66 67 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 65 def includes_static_slices? build_type.static? end |
#name ⇒ String
53 54 55 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 53 def name File.basename(path, '.xcframework') end |
#plist_path ⇒ Pathname
47 48 49 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 47 def plist_path path + 'Info.plist' end |