JLChen
2021-08-02 38f4fb064df09f344fc3237409c76a9fba2a8a9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
source "https://gitlab.linphone.org/BC/public/podspec.git"
source "https://github.com/CocoaPods/Specs.git"
 
def all_pods
    if ENV['PODFILE_PATH'].nil?
        pod 'linphone-sdk', '~> 5.0.0-alpha'
    else
        pod 'linphone-sdk', :path => ENV['PODFILE_PATH']  # local sdk
    end
 
    crashlytics
end
 
def crashlytics
    if not ENV['USE_CRASHLYTICS'].nil?
        pod 'Firebase/Analytics'
        pod 'Firebase/Crashlytics'
    end
end
 
target 'linphone' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!
 
  # Pods for linphone
    pod 'SVProgressHUD'
    all_pods
 
end
 
target 'msgNotificationService' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!
 
  # Pods for messagesNotification
  all_pods
 
end
 
target 'msgNotificationContent' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!
 
  # Pods for messagesNotification
  all_pods
 
end
 
post_install do |installer|
    # Get the version of linphone-sdk
    installer.pod_targets.each do |target|
        if target.pod_name == 'linphone-sdk'
            target.specs.each do |spec|
                $linphone_sdk_version = spec.version
            end
        end
    end
            
    app_project = Xcodeproj::Project.open(Dir.glob("*.xcodeproj")[0])
    app_project.native_targets.each do |target|
        target.build_configurations.each do |config|
            if target.name == "linphone" || target.name == 'msgNotificationService' || target.name == 'msgNotificationContent'
                if ENV['USE_CRASHLYTICS'].nil?
                    if config.name == "Debug" then
                        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) DEBUG=1'
                        else
                        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited)'
                    end
                    config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited)'
                else
                    # activate crashlytics
                    if config.name == "Debug" then
                        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) DEBUG=1 USE_CRASHLYTICS=1'
                    else
                        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) USE_CRASHLYTICS=1'
                    end
                    config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -DUSE_CRASHLYTICS'
                end
            end
 
            if target.name == "linphone"
                config.build_settings['OTHER_CFLAGS'] = '-DBCTBX_LOG_DOMAIN=\"ios\"',
                                                                                            '-DCHECK_VERSION_UPDATE=FALSE',
                                                                                            '-DENABLE_QRCODE=TRUE',
                                                                                            '-DENABLE_SMS_INVITE=TRUE',
                                                                                            '$(inherited)',
                                                                                            "-DLINPHONE_SDK_VERSION=\\\"#{$linphone_sdk_version}\\\""
            end
 
            app_project.save
        end
    end
end