project 'Monal.xcodeproj' #source 'https://cdn.cocoapods.org/' # Uncomment the next line to define a global platform for your project platform :ios, '14.0' # ignore all warnings from all pods inhibit_all_warnings! def signalDeps pod 'SignalProtocolC', git: 'https://github.com/monal-im/libsignal-protocol-c', branch: 'master' pod 'SignalProtocolObjC', git: 'https://github.com/monal-im/SignalProtocol-ObjC.git', branch: 'master' end def monal use_frameworks! inhibit_all_warnings! pod 'MBProgressHUD', '~> 1.2.0' pod 'SDWebImage' pod 'DZNEmptyDataSet' pod 'CropViewController' pod 'NotificationBannerSwift', '~> 3.2.0' pod 'FLAnimatedImage', '~> 1.0' pod "PromiseKit" end def monalxmpp # Uncomment the next line if you're using Swift or would like to use dynamic frameworks use_frameworks! inhibit_all_warnings! pod 'SAMKeychain' pod 'sqlite3/perf-threadsafe', inhibit_warnings: true pod 'ASN1Decoder' #later versions of the webrtc lib trigger the following app review error: pod 'WebRTC-lib' #pod 'GoogleWebRTC' pod 'KSCrash', subspecs:['Recording', 'Reporting/Filters/Sets', 'Reporting/Filters/Tools', 'Reporting/Tools', 'Core'] signalDeps pod "PromiseKit" end target 'shareSheet' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks use_frameworks! inhibit_all_warnings! pod "PromiseKit" end target 'NotificationService' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks use_frameworks! inhibit_all_warnings! pod "PromiseKit" end target 'Monal' do monal end target 'monalxmpp' do use_frameworks! inhibit_all_warnings! monalxmpp end target 'MonalUITests' do monalxmpp monal end target 'MonalXMPPUnitTests' do monalxmpp end target 'another.im' do use_frameworks! inhibit_all_warnings! # pod 'ASN1Decoder' end # see https://stackoverflow.com/a/36547646/3528174 post_install do |installer| fix_deployment_target(installer) installer.pods_project.targets.each do |target| target.build_configurations.each do |configuration| # see https://stackoverflow.com/a/30038120 configuration.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'DD_NSLOG_LEVEL=5', 'KSLogger_Level=INFO'] configuration.build_settings.delete('ARCHS') if target.name == "TOCropViewController-TOCropViewControllerBundle" configuration.build_settings['CODE_SIGN_IDENTITY[sdk=macosx*]'] = '-' end end end # see https://github.com/CocoaPods/CocoaPods/issues/8891#issuecomment-1249151085 installer.pods_project.targets.each do |target| if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle" target.build_configurations.each do |config| config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' end end end # see https://github.com/CocoaPods/CocoaPods/issues/11553 installer.pods_project.build_configurations.each do |config| config.build_settings['DEAD_CODE_STRIPPING'] = 'YES' end end # see https://github.com/CocoaPods/CocoaPods/issues/7314 def fix_deployment_target(pod_installer) if !pod_installer return end puts "Make the pods deployment target version the same as our target" project = pod_installer.pods_project deploymentMap = {} project.build_configurations.each do |config| deploymentMap[config.name] = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] end # p deploymentMap project.targets.each do |t| puts " #{t.name}" t.build_configurations.each do |config| oldTarget = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] newTarget = deploymentMap[config.name] if oldTarget == newTarget next end puts " #{config.name} deployment target: #{oldTarget} => #{newTarget}" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = newTarget end end end