Class: AppleFrameworks::Framework

Inherits:
Object
  • Object
show all
Defined in:
lib/apple_frameworks/framework.rb

Overview

Creates an Apple (iOS or macOS) Framework from an existing library (‘.a` file).

The Framework is built up with a directory structure:

“‘ LibraryName.Framework

Info.plist
library_name (the actual static lib)
Headers
  (all the headers)

“‘

Instance Method Summary collapse

Constructor Details

#initialize(framework_name, parent_directory, library, headers_directory) ⇒ Framework

  • parameter framework_name: The name of the resulting framework.

  • parameter parent_directory: The directory in which to create the framework.

  • parameter library: The library itself; the ‘.a` file.

  • parameter headers_directory: The directory which includes the headers. Normally located in the ‘include/` directory.



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/apple_frameworks/framework.rb', line 23

def initialize(framework_name, parent_directory, library, headers_directory)
  @framework_name = framework_name
  @parent_directory = parent_directory
  @library = library
  @headers_directory = headers_directory

  @framework_directory = File.join(
    @parent_directory,
    "#{@framework_name}.framework"
  )
end

Instance Method Details

#buildObject

Generates the ‘.framework` bundle.



37
38
39
40
41
42
# File 'lib/apple_frameworks/framework.rb', line 37

def build
  create_directories
  copy_lib
  copy_headers
  generate_plist
end