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)
Returns the format version of the .xcframework.
18 19 20 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 18 def format_version @format_version end |
#path ⇒ Pathname (readonly)
Returns path the path to the .xcframework on disk.
14 15 16 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 14 def path @path end |
#plist ⇒ Hash (readonly)
Returns the contents of the parsed plist.
26 27 28 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 26 def plist @plist end |
#slices ⇒ Array<XCFramework::Slice> (readonly)
Returns the slices contained inside this .xcframework.
22 23 24 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 22 def slices @slices end |
#target_name ⇒ String (readonly)
Returns target_name the target name this XCFramework belongs to.
10 11 12 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 10 def target_name @target_name end |
Instance Method Details
#build_type ⇒ Pod::BuildType
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
Returns true if any slices use dynamic linkage.
59 60 61 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 59 def includes_dynamic_slices? build_type.dynamic? end |
#includes_static_slices? ⇒ Boolean
Returns true if any slices use dynamic linkage.
65 66 67 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 65 def includes_static_slices? build_type.static? end |
#name ⇒ String
Returns the basename of the framework.
53 54 55 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 53 def name File.basename(path, '.xcframework') end |
#plist_path ⇒ Pathname
Returns the path to the Info.plist.
47 48 49 |
# File 'lib/cocoapods/xcode/xcframework.rb', line 47 def plist_path path + 'Info.plist' end |