Class: Pod::Xcode::XCFramework

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods/xcode/xcframework.rb,
lib/cocoapods/xcode/xcframework/xcframework_slice.rb

Defined Under Namespace

Classes: Slice

Instance Attribute Summary collapse

Instance Method Summary collapse

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_versionPod::Version (readonly)



18
19
20
# File 'lib/cocoapods/xcode/xcframework.rb', line 18

def format_version
  @format_version
end

#pathPathname (readonly)



14
15
16
# File 'lib/cocoapods/xcode/xcframework.rb', line 14

def path
  @path
end

#plistHash (readonly)



26
27
28
# File 'lib/cocoapods/xcode/xcframework.rb', line 26

def plist
  @plist
end

#slicesArray<XCFramework::Slice> (readonly)



22
23
24
# File 'lib/cocoapods/xcode/xcframework.rb', line 22

def slices
  @slices
end

#target_nameString (readonly)



10
11
12
# File 'lib/cocoapods/xcode/xcframework.rb', line 10

def target_name
  @target_name
end

Instance Method Details

#build_typePod::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

#nameString



53
54
55
# File 'lib/cocoapods/xcode/xcframework.rb', line 53

def name
  File.basename(path, '.xcframework')
end

#plist_pathPathname



47
48
49
# File 'lib/cocoapods/xcode/xcframework.rb', line 47

def plist_path
  path + 'Info.plist'
end