From 9c2ce60b047c673c5891926888a1b221b778be9e Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Tue, 13 May 2025 15:23:17 +0200 Subject: [PATCH] Use Swift Package Manager instead Cocoapods --- Linphone.xcodeproj/project.pbxproj | 119 +++++++-------- .../xcshareddata/swiftpm/Package.resolved | 141 ++++++++++++++++++ .../xcshareddata/xcschemes/Linphone.xcscheme | 6 +- Podfile | 69 --------- 4 files changed, 201 insertions(+), 134 deletions(-) create mode 100644 Linphone.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved delete mode 100644 Podfile diff --git a/Linphone.xcodeproj/project.pbxproj b/Linphone.xcodeproj/project.pbxproj index c2211630b..e4bab3e80 100644 --- a/Linphone.xcodeproj/project.pbxproj +++ b/Linphone.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 4ED1F0A881A9ACB5977A8987 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; + 4ED1F0A881A9ACB5977A8987 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; 660AAF7F2B839272004C0FA6 /* msgNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 660AAF7B2B839271004C0FA6 /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 660D8A712B517D260092694D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 660D8A702B517D260092694D /* GoogleService-Info.plist */; }; 6613A0AE2BAEB7DF008923A4 /* MeetingFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6613A0AD2BAEB7DF008923A4 /* MeetingFragment.swift */; }; @@ -176,6 +176,11 @@ D7D24D162AC1B4E800C6F35B /* NotoSans-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D7D24D102AC1B4E800C6F35B /* NotoSans-SemiBold.ttf */; }; D7D24D172AC1B4E800C6F35B /* NotoSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D7D24D112AC1B4E800C6F35B /* NotoSans-Bold.ttf */; }; D7D24D182AC1B4E800C6F35B /* NotoSans-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D7D24D122AC1B4E800C6F35B /* NotoSans-ExtraBold.ttf */; }; + D7D5AD7F2DD34F0E00016721 /* AppAuth in Frameworks */ = {isa = PBXBuildFile; productRef = D7D5AD7E2DD34F0E00016721 /* AppAuth */; }; + D7D5AD812DD34F1A00016721 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = D7D5AD802DD34F1A00016721 /* FirebaseAnalytics */; }; + D7D5AD832DD34F2300016721 /* FirebaseCrashlytics in Frameworks */ = {isa = PBXBuildFile; productRef = D7D5AD822DD34F2300016721 /* FirebaseCrashlytics */; }; + D7D5AD852DD34F3700016721 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = D7D5AD842DD34F3700016721 /* FirebaseAnalytics */; }; + D7D5AD872DD34F3C00016721 /* FirebaseCrashlytics in Frameworks */ = {isa = PBXBuildFile; productRef = D7D5AD862DD34F3C00016721 /* FirebaseCrashlytics */; }; D7DA67622ACCB2FA00E95002 /* LoginFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DA67612ACCB2FA00E95002 /* LoginFragment.swift */; }; D7DA67642ACCB31700E95002 /* ProfileModeFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DA67632ACCB31700E95002 /* ProfileModeFragment.swift */; }; D7DC096F2CFA1D7600A6D47C /* AccountProfileFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DC096E2CFA1D7400A6D47C /* AccountProfileFragment.swift */; }; @@ -407,6 +412,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D7D5AD872DD34F3C00016721 /* FirebaseCrashlytics in Frameworks */, + D7D5AD852DD34F3700016721 /* FirebaseAnalytics in Frameworks */, C618BF582D75CA0D005A00E0 /* linphonesw in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -415,8 +422,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D7D5AD7F2DD34F0E00016721 /* AppAuth in Frameworks */, C618BF562D75CA03005A00E0 /* linphonesw in Frameworks */, - 4ED1F0A881A9ACB5977A8987 /* BuildFile in Frameworks */, + D7D5AD832DD34F2300016721 /* FirebaseCrashlytics in Frameworks */, + D7D5AD812DD34F1A00016721 /* FirebaseAnalytics in Frameworks */, + 4ED1F0A881A9ACB5977A8987 /* (null) in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -513,13 +523,6 @@ path = Models; sourceTree = ""; }; - A31AF2AB8C6A3D7B7EA3B424 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; C6A5A9462C10B64A0070FEA4 /* SingleSignOn */ = { isa = PBXGroup; children = ( @@ -571,7 +574,6 @@ D719ABB52ABC67BF00B41C10 /* Linphone */, 660AAF7C2B839272004C0FA6 /* msgNotificationService */, D719ABB42ABC67BF00B41C10 /* Products */, - A31AF2AB8C6A3D7B7EA3B424 /* Pods */, ); sourceTree = ""; }; @@ -1019,7 +1021,6 @@ 660AAF772B839271004C0FA6 /* Sources */, 660AAF782B839271004C0FA6 /* Frameworks */, 660AAF792B839271004C0FA6 /* Resources */, - 6677CE082C73D71A0020FD0E /* Crashlytics */, ); buildRules = ( ); @@ -1039,7 +1040,6 @@ 660AAF802B839272004C0FA6 /* Embed Foundation Extensions */, D719ABB12ABC67BF00B41C10 /* Resources */, D7FB55122AD53FE200A5AB15 /* Run Script */, - 66BF2D4B2B558A3100A5F2E3 /* Crashlytics */, ); buildRules = ( ); @@ -1070,7 +1070,7 @@ }; }; }; - buildConfigurationList = D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "linphone" */; + buildConfigurationList = D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "Linphone" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -1081,6 +1081,8 @@ mainGroup = D719ABAA2ABC67BF00B41C10; packageReferences = ( C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */, + D7D5AD7B2DD34E4D00016721 /* XCRemoteSwiftPackageReference "AppAuth-iOS" */, + D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, ); productRefGroup = D719ABB42ABC67BF00B41C10 /* Products */; projectDirPath = ""; @@ -1127,54 +1129,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 6677CE082C73D71A0020FD0E /* Crashlytics */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}", - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}", - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist", - "$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist", - "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)", - ); - name = Crashlytics; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n"; - }; - 66BF2D4B2B558A3100A5F2E3 /* Crashlytics */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}", - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}", - "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist", - "$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist", - "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)", - ); - name = Crashlytics; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "val=`expr \"$GCC_PREPROCESSOR_DEFINITIONS\" : \".*USE_CRASHLYTICS=\\([0-9]*\\)\"`\nif [ $val = 1 ]; then\n ${PODS_ROOT}/FirebaseCrashlytics/run\nfi\n\n"; - }; D7FB55122AD53FE200A5AB15 /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -1716,7 +1670,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "linphone" */ = { + D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "Linphone" */ = { isa = XCConfigurationList; buildConfigurations = ( D719ABC02ABC67BF00B41C10 /* Debug */, @@ -1745,6 +1699,22 @@ kind = branch; }; }; + D7D5AD7B2DD34E4D00016721 /* XCRemoteSwiftPackageReference "AppAuth-iOS" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/openid/AppAuth-iOS.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.0.0; + }; + }; + D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 11.12.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -1758,6 +1728,31 @@ package = C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */; productName = linphonesw; }; + D7D5AD7E2DD34F0E00016721 /* AppAuth */ = { + isa = XCSwiftPackageProductDependency; + package = D7D5AD7B2DD34E4D00016721 /* XCRemoteSwiftPackageReference "AppAuth-iOS" */; + productName = AppAuth; + }; + D7D5AD802DD34F1A00016721 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; + D7D5AD822DD34F2300016721 /* FirebaseCrashlytics */ = { + isa = XCSwiftPackageProductDependency; + package = D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseCrashlytics; + }; + D7D5AD842DD34F3700016721 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; + D7D5AD862DD34F3C00016721 /* FirebaseCrashlytics */ = { + isa = XCSwiftPackageProductDependency; + package = D7D5AD7C2DD34E7C00016721 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseCrashlytics; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = D719ABAB2ABC67BF00B41C10 /* Project object */; diff --git a/Linphone.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Linphone.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 000000000..9a775bc30 --- /dev/null +++ b/Linphone.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,141 @@ +{ + "originHash" : "e39a18fba1473ec1dc31402001b017593f3d3d95f4752f193a0b73b2eb6dd0d9", + "pins" : [ + { + "identity" : "abseil-cpp-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/abseil-cpp-binary.git", + "state" : { + "revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5", + "version" : "1.2024072200.0" + } + }, + { + "identity" : "app-check", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/app-check.git", + "state" : { + "revision" : "61b85103a1aeed8218f17c794687781505fbbef5", + "version" : "11.2.0" + } + }, + { + "identity" : "appauth-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/openid/AppAuth-iOS.git", + "state" : { + "revision" : "145104f5ea9d58ae21b60add007c33c1cc0c948e", + "version" : "2.0.0" + } + }, + { + "identity" : "firebase-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/firebase-ios-sdk.git", + "state" : { + "revision" : "fbd463894af94d90eb4d6a4e54080459a8179519", + "version" : "11.12.0" + } + }, + { + "identity" : "googleappmeasurement", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleAppMeasurement.git", + "state" : { + "revision" : "f7460ea630bddf172115c28493ae8b3798d95ce3", + "version" : "11.12.0" + } + }, + { + "identity" : "googledatatransport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleDataTransport.git", + "state" : { + "revision" : "617af071af9aa1d6a091d59a202910ac482128f9", + "version" : "10.1.0" + } + }, + { + "identity" : "googleutilities", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleUtilities.git", + "state" : { + "revision" : "60da361632d0de02786f709bdc0c4df340f7613e", + "version" : "8.1.0" + } + }, + { + "identity" : "grpc-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/grpc-binary.git", + "state" : { + "revision" : "cc0001a0cf963aa40501d9c2b181e7fc9fd8ec71", + "version" : "1.69.0" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "c756a29784521063b6a1202907e2cc47f41b667c", + "version" : "4.5.0" + } + }, + { + "identity" : "interop-ios-for-google-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/interop-ios-for-google-sdks.git", + "state" : { + "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe", + "version" : "101.0.0" + } + }, + { + "identity" : "leveldb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/leveldb.git", + "state" : { + "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", + "version" : "1.22.5" + } + }, + { + "identity" : "linphone-sdk-swift-ios", + "kind" : "remoteSourceControl", + "location" : "https://gitlab.linphone.org/BC/public/linphone-sdk-swift-ios.git", + "state" : { + "branch" : "stable", + "revision" : "8ad69fc6e52277446458f2f067533895246e1edf" + } + }, + { + "identity" : "nanopb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/nanopb.git", + "state" : { + "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", + "version" : "2.30910.0" + } + }, + { + "identity" : "promises", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/promises.git", + "state" : { + "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", + "version" : "2.4.0" + } + }, + { + "identity" : "swift-protobuf", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-protobuf.git", + "state" : { + "revision" : "d72aed98f8253ec1aa9ea1141e28150f408cf17f", + "version" : "1.29.0" + } + } + ], + "version" : 3 +} diff --git a/Linphone.xcodeproj/xcshareddata/xcschemes/Linphone.xcscheme b/Linphone.xcodeproj/xcshareddata/xcschemes/Linphone.xcscheme index 6c21053ec..f5986b566 100644 --- a/Linphone.xcodeproj/xcshareddata/xcschemes/Linphone.xcscheme +++ b/Linphone.xcodeproj/xcshareddata/xcschemes/Linphone.xcscheme @@ -17,7 +17,7 @@ BlueprintIdentifier = "D719ABB22ABC67BF00B41C10" BuildableName = "Linphone.app" BlueprintName = "Linphone" - ReferencedContainer = "container:linphone.xcodeproj"> + ReferencedContainer = "container:Linphone.xcodeproj"> @@ -46,7 +46,7 @@ BlueprintIdentifier = "D719ABB22ABC67BF00B41C10" BuildableName = "Linphone.app" BlueprintName = "Linphone" - ReferencedContainer = "container:linphone.xcodeproj"> + ReferencedContainer = "container:Linphone.xcodeproj"> @@ -63,7 +63,7 @@ BlueprintIdentifier = "D719ABB22ABC67BF00B41C10" BuildableName = "Linphone.app" BlueprintName = "Linphone" - ReferencedContainer = "container:linphone.xcodeproj"> + ReferencedContainer = "container:Linphone.xcodeproj"> diff --git a/Podfile b/Podfile deleted file mode 100644 index 68caea8e4..000000000 --- a/Podfile +++ /dev/null @@ -1,69 +0,0 @@ -# Uncomment the next line to define a global platform for your project -platform :ios, '15.0' -source "https://gitlab.linphone.org/BC/public/podspec.git" -source "https://github.com/CocoaPods/Specs.git" - -def basic_pods - crashlytics -end - -def crashlytics - if not ENV['USE_CRASHLYTICS'].nil? - pod 'Firebase/Analytics' - pod 'Firebase/Crashlytics' - end -end - -target 'Linphone' do - # Comment the next line if you don't want to use dynamic frameworks - use_frameworks! - - # Pods for Linphone - pod 'SwiftLint' - pod 'AppAuth' - basic_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 - basic_pods - -end - -post_install do |installer| - 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 - - app_project.save - end - end - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' - end - end -end -