137 lines
3.9 KiB
Ruby
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
|