another.im-ios/Monal/Podfile
2024-12-16 08:00:23 +01:00

137 lines
3.9 KiB
Ruby

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