2020-04-07 05:22:57 +02:00
|
|
|
platform :ios, '12.0'
|
2014-10-02 00:32:35 +02:00
|
|
|
source 'https://github.com/CocoaPods/Specs.git'
|
2014-05-06 19:41:08 +02:00
|
|
|
|
2017-11-28 00:17:46 +01:00
|
|
|
use_frameworks!
|
2022-01-25 02:05:45 +01:00
|
|
|
inhibit_all_warnings!
|
2017-11-28 00:17:46 +01:00
|
|
|
|
2022-01-25 02:05:45 +01:00
|
|
|
# Dependencies to be included in the app and all extensions/frameworks
|
|
|
|
abstract_target 'GlobalDependencies' do
|
|
|
|
pod 'PromiseKit'
|
|
|
|
pod 'CryptoSwift'
|
2022-02-17 08:33:23 +01:00
|
|
|
# FIXME: If https://github.com/jedisct1/swift-sodium/pull/249 gets resolved then revert this back to the standard pod
|
2022-02-21 04:59:51 +01:00
|
|
|
pod 'Sodium', :git => 'https://github.com/oxen-io/session-ios-swift-sodium.git', branch: 'session-build'
|
2022-01-25 02:05:45 +01:00
|
|
|
pod 'YapDatabase/SQLCipher', :git => 'https://github.com/oxen-io/session-ios-yap-database.git', branch: 'signal-release'
|
2022-04-26 05:06:12 +02:00
|
|
|
# FIXME: If 'GoogleWebRTC' ever properly supports the arm64 simulators then remove the 'set_simulators_to_run_x86' post install step
|
2022-02-04 01:04:39 +01:00
|
|
|
pod 'GoogleWebRTC'
|
|
|
|
pod 'SocketRocket', '~> 0.5.1'
|
2022-01-25 02:05:45 +01:00
|
|
|
|
|
|
|
target 'Session' do
|
|
|
|
pod 'AFNetworking'
|
|
|
|
pod 'Reachability'
|
|
|
|
pod 'PureLayout', '~> 3.1.8'
|
|
|
|
pod 'NVActivityIndicatorView'
|
|
|
|
pod 'YYImage', git: 'https://github.com/signalapp/YYImage'
|
|
|
|
pod 'Mantle', git: 'https://github.com/signalapp/Mantle', branch: 'signal-master'
|
|
|
|
pod 'ZXingObjC'
|
|
|
|
end
|
|
|
|
|
|
|
|
# Dependencies to be included only in all extensions/frameworks
|
|
|
|
abstract_target 'FrameworkAndExtensionDependencies' do
|
2022-03-01 04:06:37 +01:00
|
|
|
pod 'Curve25519Kit', git: 'https://github.com/oxen-io/session-ios-curve-25519-kit.git', branch: 'session-version'
|
2022-01-25 02:05:45 +01:00
|
|
|
pod 'SignalCoreKit', git: 'https://github.com/oxen-io/session-ios-core-kit', branch: 'session-version'
|
|
|
|
|
|
|
|
target 'SessionNotificationServiceExtension'
|
|
|
|
target 'SessionSnodeKit'
|
|
|
|
|
|
|
|
# Dependencies that are shared across a number of extensions/frameworks but not all
|
|
|
|
abstract_target 'ExtendedDependencies' do
|
|
|
|
pod 'AFNetworking'
|
|
|
|
pod 'PureLayout', '~> 3.1.8'
|
|
|
|
pod 'Mantle', git: 'https://github.com/signalapp/Mantle', branch: 'signal-master'
|
|
|
|
|
2022-01-27 05:17:28 +01:00
|
|
|
target 'SessionShareExtension' do
|
|
|
|
pod 'NVActivityIndicatorView'
|
|
|
|
end
|
2022-01-25 02:05:45 +01:00
|
|
|
|
|
|
|
target 'SignalUtilitiesKit' do
|
|
|
|
pod 'NVActivityIndicatorView'
|
|
|
|
pod 'Reachability'
|
|
|
|
pod 'SAMKeychain'
|
|
|
|
pod 'SwiftProtobuf', '~> 1.5.0'
|
|
|
|
pod 'YYImage', git: 'https://github.com/signalapp/YYImage'
|
|
|
|
end
|
|
|
|
|
|
|
|
target 'SessionMessagingKit' do
|
|
|
|
pod 'Reachability'
|
|
|
|
pod 'SAMKeychain'
|
|
|
|
pod 'SwiftProtobuf', '~> 1.5.0'
|
2022-02-15 03:55:59 +01:00
|
|
|
|
|
|
|
target 'SessionMessagingKitTests' do
|
|
|
|
inherit! :complete
|
|
|
|
|
2022-03-02 07:11:18 +01:00
|
|
|
pod 'Quick'
|
2022-03-11 06:57:28 +01:00
|
|
|
# FIXME: change this back to use the latest 'Nimble' once a version newer than 9.2.1 has been released
|
|
|
|
pod 'Nimble', :git => 'https://github.com/Quick/Nimble', :commit => 'cabe966'
|
2022-02-15 03:55:59 +01:00
|
|
|
end
|
2022-01-25 02:05:45 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
target 'SessionUtilitiesKit' do
|
|
|
|
pod 'SAMKeychain'
|
2022-03-02 07:11:18 +01:00
|
|
|
|
|
|
|
target 'SessionUtilitiesKitTests' do
|
|
|
|
inherit! :complete
|
|
|
|
|
|
|
|
pod 'Quick'
|
2022-03-11 06:57:28 +01:00
|
|
|
# FIXME: change this back to use the latest 'Nimble' once a version newer than 9.2.1 has been released
|
|
|
|
pod 'Nimble', :git => 'https://github.com/Quick/Nimble', :commit => 'cabe966'
|
2022-03-02 07:11:18 +01:00
|
|
|
end
|
2022-01-25 02:05:45 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2020-11-05 02:07:21 +01:00
|
|
|
end
|
|
|
|
|
2022-01-25 02:05:45 +01:00
|
|
|
# No dependencies for this
|
|
|
|
target 'SessionUIKit'
|
2020-11-05 02:15:57 +01:00
|
|
|
|
2022-01-25 02:05:45 +01:00
|
|
|
# Actions to perform post-install
|
2017-11-28 00:17:46 +01:00
|
|
|
post_install do |installer|
|
2020-11-11 21:55:24 +01:00
|
|
|
enable_whole_module_optimization_for_crypto_swift(installer)
|
2020-11-05 02:07:21 +01:00
|
|
|
set_minimum_deployment_target(installer)
|
2022-04-26 05:06:12 +02:00
|
|
|
set_simulators_to_run_x86(installer)
|
2017-11-28 00:17:46 +01:00
|
|
|
end
|
|
|
|
|
2020-11-11 21:55:24 +01:00
|
|
|
def enable_whole_module_optimization_for_crypto_swift(installer)
|
2020-07-24 03:42:28 +02:00
|
|
|
installer.pods_project.targets.each do |target|
|
|
|
|
if target.name.end_with? "CryptoSwift"
|
|
|
|
target.build_configurations.each do |config|
|
|
|
|
config.build_settings['GCC_OPTIMIZATION_LEVEL'] = 'fast'
|
|
|
|
config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-O'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-11-05 02:07:21 +01:00
|
|
|
def set_minimum_deployment_target(installer)
|
2020-11-13 00:22:50 +01:00
|
|
|
installer.pods_project.targets.each do |target|
|
|
|
|
target.build_configurations.each do |build_configuration|
|
|
|
|
build_configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
|
2020-11-05 02:07:21 +01:00
|
|
|
end
|
2020-11-13 00:22:50 +01:00
|
|
|
end
|
2020-11-05 02:07:21 +01:00
|
|
|
end
|
2022-04-26 05:06:12 +02:00
|
|
|
|
|
|
|
# Note: This is needed in order to build with the 'GoogleWebRTC' framework on M1 macs as well
|
|
|
|
# as to allow it to run on the iOS simulator as they don't include an iOS arm64 simulator slice
|
|
|
|
# in the framework (see https://stackoverflow.com/a/66094347 for more info and also
|
|
|
|
# https://blog.sudeium.com/2021/06/18/build-for-x86-simulator-on-apple-silicon-macs/)
|
|
|
|
#
|
|
|
|
# Accoring to https://github.com/react-native-webrtc/react-native-webrtc/issues/1033 it also doesn't
|
|
|
|
# support Catalyst at the moment so changes/updates would be needed if we wanted to add support
|
|
|
|
def set_simulators_to_run_x86(installer)
|
|
|
|
installer.pods_project.targets.each do |target|
|
|
|
|
target.build_configurations.each do |config|
|
|
|
|
# Force CocoaPods targets to always build for x86_64
|
|
|
|
config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'x86_64'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|