mirror of
https://github.com/selfxyz/self.git
synced 2026-01-10 07:08:10 -05:00
98 lines
3.5 KiB
Ruby
98 lines
3.5 KiB
Ruby
use_frameworks!
|
|
|
|
# Resolve react_native_pods.rb with node to allow for hoisting
|
|
require Pod::Executable.execute_command('node', ['-p',
|
|
'require.resolve(
|
|
"react-native/scripts/react_native_pods.rb",
|
|
{paths: [process.argv[1]]},
|
|
)', __dir__]).strip
|
|
|
|
project 'Self.xcodeproj'
|
|
|
|
platform :ios, '14.0'
|
|
prepare_react_native_project!
|
|
|
|
|
|
linkage = ENV['USE_FRAMEWORKS']
|
|
if linkage != nil
|
|
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
|
|
use_frameworks! :linkage => linkage.to_sym
|
|
end
|
|
|
|
target 'Self' do
|
|
|
|
config = use_native_modules!
|
|
|
|
use_frameworks!
|
|
pod 'NFCPassportReader', git: 'https://github.com/zk-passport/NFCPassportReader', commit: '9bf434c86a01ae9670422f5a7484d7405124a108'
|
|
pod 'QKMRZScanner'
|
|
pod 'lottie-ios'
|
|
pod 'SwiftQRScanner', :git => 'https://github.com/vinodiOS/SwiftQRScanner'
|
|
pod 'RNReactNativeHapticFeedback', :path => '../node_modules/react-native-haptic-feedback', :modular_headers => true
|
|
|
|
use_react_native!(
|
|
:path => config[:reactNativePath],
|
|
|
|
:hermes_enabled => false,
|
|
# :fabric_enabled => flags[:fabric_enabled],
|
|
# An absolute path to your application root.
|
|
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
|
)
|
|
|
|
pod 'Sentry', :modular_headers => true
|
|
pod 'SentryPrivate', :modular_headers => true
|
|
|
|
post_install do |installer|
|
|
installer.generated_projects.each do |project|
|
|
project.targets.each do |target|
|
|
if target.name == 'RNZipArchive'
|
|
target.source_build_phase.files.each do |file|
|
|
if file.settings && file.settings['COMPILER_FLAGS']
|
|
file.settings['COMPILER_FLAGS'] = ''
|
|
end
|
|
end
|
|
end
|
|
target.build_configurations.each do |config|
|
|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
|
|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
|
|
end
|
|
end
|
|
end
|
|
|
|
bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
|
|
def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
|
|
framework_path = File.join(Dir.pwd, framework_relative_path)
|
|
command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
|
|
puts "Stripping bitcode: #{command}"
|
|
system(command)
|
|
end
|
|
|
|
framework_paths = [
|
|
"Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64/OpenSSL.framework/OpenSSL",
|
|
"Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_x86_64-maccatalyst/OpenSSL.framework/OpenSSL",
|
|
"Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_x86_64-simulator/OpenSSL.framework/OpenSSL",
|
|
"Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/macos-arm64_x86_64/OpenSSL.framework/OpenSSL",
|
|
]
|
|
|
|
framework_paths.each do |framework_relative_path|
|
|
strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
|
|
end
|
|
|
|
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
|
|
react_native_post_install(
|
|
installer,
|
|
config[:reactNativePath],
|
|
:mac_catalyst_enabled => false,
|
|
# :ccache_enabled => true
|
|
)
|
|
|
|
installer.pods_project.targets.each do |target|
|
|
if target.name == 'RNReactNativeHapticFeedback'
|
|
target.build_configurations.each do |config|
|
|
config.build_settings['OTHER_LDFLAGS'] ||= ['$(inherited)']
|
|
config.build_settings['OTHER_LDFLAGS'] << '-framework AudioToolbox'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end |