1706a476dSWill Schurmanrequire 'json' 2706a476dSWill Schurman 3706a476dSWill Schurmanpackage = JSON.parse(File.read(File.join(__dir__, '..', 'package.json'))) 4706a476dSWill Schurman 5706a476dSWill SchurmanPod::Spec.new do |s| 6706a476dSWill Schurman s.name = 'EXManifests' 7706a476dSWill Schurman s.version = package['version'] 8706a476dSWill Schurman s.summary = package['description'] 9706a476dSWill Schurman s.description = package['description'] 10706a476dSWill Schurman s.license = package['license'] 11706a476dSWill Schurman s.author = package['author'] 12706a476dSWill Schurman s.homepage = package['homepage'] 13*ef901781SDouglas Lowder s.platforms = { :ios => '13.0', :tvos => '13.0' } 1494af3edaSWill Schurman s.swift_version = '5.4' 15706a476dSWill Schurman s.source = { git: 'https://github.com/expo/expo.git' } 169886c0aaSKudo Chien s.static_framework = true 17706a476dSWill Schurman 1894af3edaSWill Schurman s.dependency 'ExpoModulesCore' 19706a476dSWill Schurman 203f81c6c2SEric Samelson # Swift/Objective-C compatibility 2194af3edaSWill Schurman s.pod_target_xcconfig = { 2294af3edaSWill Schurman 'GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS' => 'YES', 2394af3edaSWill Schurman 'GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS' => 'YES', 2494af3edaSWill Schurman 'DEFINES_MODULE' => 'YES', 2594af3edaSWill Schurman 'SWIFT_COMPILATION_MODE' => 'wholemodule' 2694af3edaSWill Schurman } 27a61b5e5aSKudo Chien s.user_target_xcconfig = { 28a61b5e5aSKudo Chien 'HEADER_SEARCH_PATHS' => '"${PODS_CONFIGURATION_BUILD_DIR}/EXManifests/Swift Compatibility Header"', 2994af3edaSWill Schurman } 303f81c6c2SEric Samelson 31706a476dSWill Schurman if !$ExpoUseSources&.include?(package['name']) && ENV['EXPO_USE_SOURCE'].to_i == 0 && File.exist?("#{s.name}.xcframework") && Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.10.0') 32706a476dSWill Schurman s.source_files = "#{s.name}/**/*.h" 33706a476dSWill Schurman s.vendored_frameworks = "#{s.name}.xcframework" 34706a476dSWill Schurman else 3594af3edaSWill Schurman s.source_files = "#{s.name}/**/*.{h,m,swift}" 36706a476dSWill Schurman end 37706a476dSWill Schurman 3894af3edaSWill Schurman s.exclude_files = 'Tests/' 39706a476dSWill Schurman s.test_spec 'Tests' do |test_spec| 4094af3edaSWill Schurman test_spec.dependency 'ExpoModulesTestCore' 41706a476dSWill Schurman test_spec.source_files = 'Tests/*.{h,m,swift}' 42706a476dSWill Schurman end 43706a476dSWill Schurmanend 44