diff --git a/platforms/godot_editor/addons/admob/admob.gd b/platforms/godot_editor/addons/admob/admob.gd index 3da046b80..c2d69d21e 100644 --- a/platforms/godot_editor/addons/admob/admob.gd +++ b/platforms/godot_editor/addons/admob/admob.gd @@ -32,9 +32,7 @@ const ProjectSettingsService := preload( ) var _main_exporter := preload("res://addons/admob/internal/exporters/main_export_plugin.gd").new() -var _android_exporter := ( - preload("res://addons/admob/internal/exporters/android/export_plugin.gd").new() -) +var _android_exporter := preload("res://addons/admob/internal/exporters/android/export_plugin.gd").new() var _ios_exporter := preload("res://addons/admob/internal/exporters/ios/export_plugin.gd").new() diff --git a/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd b/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd index 789ef3613..a43d607c0 100644 --- a/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd +++ b/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd @@ -55,8 +55,13 @@ func _export_end() -> void: print("AdMob iOS: _export_end fallback (pre-4.7 engine) with path='%s'" % _pending_export_path) _apply_spm(_pending_export_path, true) - func _apply_spm(path: String, defer_patch: bool) -> void: + var version_info := Engine.get_version_info() + var is_lower_than_4_8: bool = (version_info.major < 4) or (version_info.major == 4 and version_info.minor < 8) + if not is_lower_than_4_8: + print("AdMob iOS: Godot 4.8+ detected, utilizing native SPM support. Skipping custom SPM export pipeline.") + return + _spm_applied = true var activated_plugins := ExportService.get_activated_plugins("iOS") if activated_plugins.is_empty(): @@ -130,26 +135,19 @@ func _collect_spm_dependencies(activated_plugins: Array[String]) -> Array[Dictio if err == OK: var plugin_name := config.get_value("config", "name", "") if activated_plugins.has(plugin_name): - if config.has_section_key("dependencies", "admob_packages"): - var packages: Array = config.get_value("dependencies", "admob_packages", []) - for pkg_str: String in packages: - # url@mode:version|product - var main_parts := pkg_str.split("|") - var product := main_parts[1] if main_parts.size() > 1 else "" - - var url_and_rules := main_parts[0].split("@") - var url := url_and_rules[0] - - if url_and_rules.size() > 1: - var rules := url_and_rules[1].split(":") - if rules.size() > 1: - var dep := { - "url": url, - "version": rules[1], - "kind": rules[0], - "product": product - } - deps.append(dep) + if config.has_section_key("dependencies", "spm_packages"): + var packages: Array = config.get_value("dependencies", "spm_packages", []) + for pkg: Dictionary in packages: + var url: String = pkg.get("url", "") + var version: String = pkg.get("version", "") + var products: Array = pkg.get("products", []) + for product: String in products: + var dep := { + "url": url, + "version": version, + "product": product + } + deps.append(dep) file_name = dir.get_next() return deps @@ -171,9 +169,7 @@ func _generate_package_swift(export_dir: String, dependencies: Array[Dictionary] if not processed_urls.has(url): processed_urls.append(url) - var version_rule := ( - 'exact: "%s"' % dep.version if dep.kind == "exact" else 'from: "%s"' % dep.version - ) + var version_rule := 'exact: "%s"' % dep.version package_deps_str += ' .package(url: "%s", %s),\n' % [url, version_rule] if not processed_products.has(product): diff --git a/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd.uid b/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd.uid deleted file mode 100644 index 30aa27d72..000000000 --- a/platforms/godot_editor/addons/admob/internal/exporters/ios/export_plugin.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c74oxvnajqsbq diff --git a/platforms/godot_editor/addons/admob/internal/services/export_service.gd.uid b/platforms/godot_editor/addons/admob/internal/services/export_service.gd.uid index c94f33b75..299b9f8c0 100644 --- a/platforms/godot_editor/addons/admob/internal/services/export_service.gd.uid +++ b/platforms/godot_editor/addons/admob/internal/services/export_service.gd.uid @@ -1 +1 @@ -uid://b40k2rt37l86o +uid://nqvkeeah3wtc diff --git a/platforms/godot_editor/addons/admob/internal/services/pbxproj_service.gd.uid b/platforms/godot_editor/addons/admob/internal/services/pbxproj_service.gd.uid index a4e2d78d8..2b4e59ba3 100644 --- a/platforms/godot_editor/addons/admob/internal/services/pbxproj_service.gd.uid +++ b/platforms/godot_editor/addons/admob/internal/services/pbxproj_service.gd.uid @@ -1 +1 @@ -uid://cnp62bnm8nvgn +uid://6ys84i6rthok diff --git a/platforms/ios/Package.swift b/platforms/ios/Package.swift index 408f960db..a7c5a3255 100644 --- a/platforms/ios/Package.swift +++ b/platforms/ios/Package.swift @@ -24,59 +24,71 @@ import PackageDescription import Foundation -struct DependencyInfo { +struct SPMPackageInfo { let url: String let version: String - let mode: String - let product: String + let products: [String] } -func parseGDIPFile(at path: String) -> [DependencyInfo] { +func parseGDIPFile(at path: String) -> [SPMPackageInfo] { let fileURL = URL(fileURLWithPath: path) guard let content = try? String(contentsOf: fileURL, encoding: .utf8) else { return [] } - - // Regex to find admob_packages array content - let pattern = #"admob_packages\s*=\s*\[\s*([\s\S]*?)\s*\]"# - guard let regex = try? NSRegularExpression(pattern: pattern) else { return [] } - - let range = NSRange(content.startIndex..., in: content) - guard let match = regex.firstMatch(in: content, options: [], range: range) else { return [] } - - let arrayContent = String(content[Range(match.range(at: 1), in: content)!]) - - // Parse each line in the array: "url@mode:version|product" - let lines = arrayContent.components(separatedBy: ",") - var dependencies: [DependencyInfo] = [] - - for line in lines { - let trimmedLine = line.trimmingCharacters(in: .whitespacesAndNewlines) - .trimmingCharacters(in: CharacterSet(charactersIn: "\"")) - - if trimmedLine.isEmpty { continue } - - // Split by @ and | - let mainParts = trimmedLine.components(separatedBy: "|") - let product = mainParts.count > 1 ? mainParts[1] : "" - - let urlAndRules = mainParts[0].components(separatedBy: "@") - let url = urlAndRules[0] - - if urlAndRules.count > 1 { - let rules = urlAndRules[1].components(separatedBy: ":") - if rules.count > 1 { - dependencies.append(DependencyInfo( - url: url, - version: rules[1], - mode: rules[0], - product: product - )) - } + + guard let spmStart = content.range(of: "spm_packages") else { return [] } + let afterSpm = String(content[spmStart.upperBound...]) + + let sectionPattern = #"\n\s*\[[a-zA-Z]"# + let nextSection: String + if let sectionRegex = try? NSRegularExpression(pattern: sectionPattern), + let sectionMatch = sectionRegex.firstMatch(in: afterSpm, range: NSRange(afterSpm.startIndex..., in: afterSpm)) { + nextSection = String(afterSpm[afterSpm.startIndex.. String { + let pattern = #""\#(key)"\s*:\s*"([^"]+)""# + guard let regex = try? NSRegularExpression(pattern: pattern) else { return "" } + let range = NSRange(text.startIndex..., in: text) + guard let match = regex.firstMatch(in: text, options: [], range: range) else { return "" } + return String(text[Range(match.range(at: 1), in: text)!]) +} + +func extractArray(from text: String, key: String) -> [String] { + let pattern = #""\#(key)"\s*:\s*\[([^\]]*)\]"# + guard let regex = try? NSRegularExpression(pattern: pattern) else { return [] } + let range = NSRange(text.startIndex..., in: text) + guard let match = regex.firstMatch(in: text, options: [], range: range) else { return [] } + + let arrayContent = String(text[Range(match.range(at: 1), in: text)!]) + return arrayContent.components(separatedBy: ",") + .map { $0.trimmingCharacters(in: .whitespacesAndNewlines).trimmingCharacters(in: CharacterSet(charactersIn: "\"")) } + .filter { !$0.isEmpty } } var packageDependencies: [Package.Dependency] = [] @@ -110,25 +122,21 @@ if gdipFiles.isEmpty { for gdipFile in gdipFiles { print("PoingAdMob: Parsing \(gdipFile)") - let deps = parseGDIPFile(at: gdipFile) - for dep in deps { - print("PoingAdMob: Found dependency \(dep.product) from \(dep.url)") - if !seenURLs.contains(dep.url) { - if dep.mode == "exact" { - packageDependencies.append(.package(url: dep.url, exact: Version(stringLiteral: dep.version))) - } else if dep.mode == "from" { - packageDependencies.append(.package(url: dep.url, from: Version(stringLiteral: dep.version))) - } else if dep.mode == "branch" { - packageDependencies.append(.package(url: dep.url, branch: dep.version)) - } - seenURLs.insert(dep.url) + let spmPackages = parseGDIPFile(at: gdipFile) + for package in spmPackages { + print("PoingAdMob: Found package \(package.url) v\(package.version) → \(package.products)") + if !seenURLs.contains(package.url) { + packageDependencies.append(.package(url: package.url, exact: Version(stringLiteral: package.version))) + seenURLs.insert(package.url) } - - if !seenProducts.contains(dep.product) && !dep.product.isEmpty { - let packageName = dep.url.components(separatedBy: "/").last? - .replacingOccurrences(of: ".git", with: "") ?? "" - targetDependencies.append(.product(name: dep.product, package: packageName)) - seenProducts.insert(dep.product) + + let packageName = package.url.components(separatedBy: "/").last? + .replacingOccurrences(of: ".git", with: "") ?? "" + for product in package.products { + if !seenProducts.contains(product) { + targetDependencies.append(.product(name: product, package: packageName)) + seenProducts.insert(product) + } } } } diff --git a/platforms/ios/src/ads/config/package.gd b/platforms/ios/src/ads/config/package.gd index 2696fc2fd..1c2f0ce5e 100644 --- a/platforms/ios/src/ads/config/package.gd +++ b/platforms/ios/src/ads/config/package.gd @@ -27,4 +27,4 @@ ## [br][b]Note:[/b] This file is READ-ONLY for manual edits during releases. ## Current version of the plugin in Semantic Versioning (SemVer) format. -const VERSION := "4.1.0" # READ-ONLY +const VERSION := "4.1.1" # READ-ONLY diff --git a/platforms/ios/src/ads/config/poing-godot-admob-ads.gdip b/platforms/ios/src/ads/config/poing-godot-admob-ads.gdip index b52f22061..29855b318 100644 --- a/platforms/ios/src/ads/config/poing-godot-admob-ads.gdip +++ b/platforms/ios/src/ads/config/poing-godot-admob-ads.gdip @@ -12,9 +12,17 @@ system=["AppTrackingTransparency.framework"] capabilities=[] files=["poing-godot-admob/res/GADTMediumTemplateView.xib", "poing-godot-admob/res/GADTSmallTemplateView.xib"] linker_flags=["-ObjC"] -admob_packages=[ - "https://github.com/googleads/swift-package-manager-google-mobile-ads.git@exact:13.3.0|GoogleMobileAds", - "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git@exact:3.1.0|GoogleUserMessagingPlatform" +spm_packages=[ + { + "url": "https://github.com/googleads/swift-package-manager-google-mobile-ads.git", + "version": "13.3.0", + "products": ["GoogleMobileAds"] + }, + { + "url": "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", + "version": "3.1.0", + "products": ["GoogleUserMessagingPlatform"] + } ] [plist] diff --git a/platforms/ios/src/mediation/applovin/config/poing-godot-admob-applovin.gdip b/platforms/ios/src/mediation/applovin/config/poing-godot-admob-applovin.gdip index 6be3025a5..cc5c890b6 100644 --- a/platforms/ios/src/mediation/applovin/config/poing-godot-admob-applovin.gdip +++ b/platforms/ios/src/mediation/applovin/config/poing-godot-admob-applovin.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-applovin.git@exact:13.6.300|AppLovinAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-applovin.git", + "version": "13.6.300", + "products": ["AppLovinAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/bidmachine/config/poing-godot-admob-bidmachine.gdip b/platforms/ios/src/mediation/bidmachine/config/poing-godot-admob-bidmachine.gdip index c248457fd..8e4da7aae 100644 --- a/platforms/ios/src/mediation/bidmachine/config/poing-godot-admob-bidmachine.gdip +++ b/platforms/ios/src/mediation/bidmachine/config/poing-godot-admob-bidmachine.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-bidmachine.git@exact:3.7.000|BidMachineAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-bidmachine.git", + "version": "3.7.000", + "products": ["BidMachineAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/chartboost/config/poing-godot-admob-chartboost.gdip b/platforms/ios/src/mediation/chartboost/config/poing-godot-admob-chartboost.gdip index e16e2afef..cf11f602f 100644 --- a/platforms/ios/src/mediation/chartboost/config/poing-godot-admob-chartboost.gdip +++ b/platforms/ios/src/mediation/chartboost/config/poing-godot-admob-chartboost.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-chartboost.git@exact:9.12.0|ChartboostAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-chartboost.git", + "version": "9.12.0", + "products": ["ChartboostAdapterTarget"] + } ] [plist] \ No newline at end of file diff --git a/platforms/ios/src/mediation/dtexchange/config/poing-godot-admob-dtexchange.gdip b/platforms/ios/src/mediation/dtexchange/config/poing-godot-admob-dtexchange.gdip index a3f32f245..c498e3770 100644 --- a/platforms/ios/src/mediation/dtexchange/config/poing-godot-admob-dtexchange.gdip +++ b/platforms/ios/src/mediation/dtexchange/config/poing-godot-admob-dtexchange.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-dtexchange.git@exact:8.4.701|DTExchangeAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-dtexchange.git", + "version": "8.4.701", + "products": ["DTExchangeAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/imobile/config/poing-godot-admob-imobile.gdip b/platforms/ios/src/mediation/imobile/config/poing-godot-admob-imobile.gdip index c68c4a155..4f8a66644 100644 --- a/platforms/ios/src/mediation/imobile/config/poing-godot-admob-imobile.gdip +++ b/platforms/ios/src/mediation/imobile/config/poing-godot-admob-imobile.gdip @@ -11,8 +11,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-imobile.git@exact:2.3.407|IMobileAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-imobile.git", + "version": "2.3.407", + "products": ["IMobileAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/inmobi/config/poing-godot-admob-inmobi.gdip b/platforms/ios/src/mediation/inmobi/config/poing-godot-admob-inmobi.gdip index 45c296b16..1e980f1c3 100644 --- a/platforms/ios/src/mediation/inmobi/config/poing-godot-admob-inmobi.gdip +++ b/platforms/ios/src/mediation/inmobi/config/poing-godot-admob-inmobi.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-inmobi.git@exact:11.3.000|InMobiAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-inmobi.git", + "version": "11.3.000", + "products": ["InMobiAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/ironsource/config/poing-godot-admob-ironsource.gdip b/platforms/ios/src/mediation/ironsource/config/poing-godot-admob-ironsource.gdip index c3e13fbc7..fccbbbf97 100644 --- a/platforms/ios/src/mediation/ironsource/config/poing-godot-admob-ironsource.gdip +++ b/platforms/ios/src/mediation/ironsource/config/poing-godot-admob-ironsource.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-ironsource.git@exact:9.4.10001|IronSourceAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-ironsource.git", + "version": "9.4.10001", + "products": ["IronSourceAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/line/config/poing-godot-admob-line.gdip b/platforms/ios/src/mediation/line/config/poing-godot-admob-line.gdip index 9bfedca07..d2652832b 100644 --- a/platforms/ios/src/mediation/line/config/poing-godot-admob-line.gdip +++ b/platforms/ios/src/mediation/line/config/poing-godot-admob-line.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-line.git@exact:3.0.102|LineAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-line.git", + "version": "3.0.102", + "products": ["LineAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/maio/config/poing-godot-admob-maio.gdip b/platforms/ios/src/mediation/maio/config/poing-godot-admob-maio.gdip index 58143c002..121c75cb8 100644 --- a/platforms/ios/src/mediation/maio/config/poing-godot-admob-maio.gdip +++ b/platforms/ios/src/mediation/maio/config/poing-godot-admob-maio.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-maio.git@exact:2.2.0|MaioAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-maio.git", + "version": "2.2.0", + "products": ["MaioAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/meta/config/poing-godot-admob-meta.gdip b/platforms/ios/src/mediation/meta/config/poing-godot-admob-meta.gdip index 1a0f149f9..060d2ed87 100644 --- a/platforms/ios/src/mediation/meta/config/poing-godot-admob-meta.gdip +++ b/platforms/ios/src/mediation/meta/config/poing-godot-admob-meta.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-meta.git@exact:6.20.100|MetaAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-meta.git", + "version": "6.20.100", + "products": ["MetaAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/mintegral/config/poing-godot-admob-mintegral.gdip b/platforms/ios/src/mediation/mintegral/config/poing-godot-admob-mintegral.gdip index 36e7099ca..2e2729b92 100644 --- a/platforms/ios/src/mediation/mintegral/config/poing-godot-admob-mintegral.gdip +++ b/platforms/ios/src/mediation/mintegral/config/poing-godot-admob-mintegral.gdip @@ -11,8 +11,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-mintegral.git@exact:8.1.500|MintegralAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-mintegral.git", + "version": "8.1.500", + "products": ["MintegralAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/moloco/config/poing-godot-admob-moloco.gdip b/platforms/ios/src/mediation/moloco/config/poing-godot-admob-moloco.gdip index 56b4c11e1..4a916b6e2 100644 --- a/platforms/ios/src/mediation/moloco/config/poing-godot-admob-moloco.gdip +++ b/platforms/ios/src/mediation/moloco/config/poing-godot-admob-moloco.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-moloco.git@exact:4.7.000|MolocoAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-moloco.git", + "version": "4.7.000", + "products": ["MolocoAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/mytarget/config/poing-godot-admob-mytarget.gdip b/platforms/ios/src/mediation/mytarget/config/poing-godot-admob-mytarget.gdip index 624760a33..5b1833e08 100644 --- a/platforms/ios/src/mediation/mytarget/config/poing-godot-admob-mytarget.gdip +++ b/platforms/ios/src/mediation/mytarget/config/poing-godot-admob-mytarget.gdip @@ -11,8 +11,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-mytarget.git@exact:5.44.100|MyTargetAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-mytarget.git", + "version": "5.44.100", + "products": ["MyTargetAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/pangle/config/poing-godot-admob-pangle.gdip b/platforms/ios/src/mediation/pangle/config/poing-godot-admob-pangle.gdip index 3ef651339..da799b193 100644 --- a/platforms/ios/src/mediation/pangle/config/poing-godot-admob-pangle.gdip +++ b/platforms/ios/src/mediation/pangle/config/poing-godot-admob-pangle.gdip @@ -11,8 +11,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-pangle.git@exact:8.1.00600|PangleAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-pangle.git", + "version": "8.1.00600", + "products": ["PangleAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/pubmatic/config/poing-godot-admob-pubmatic.gdip b/platforms/ios/src/mediation/pubmatic/config/poing-godot-admob-pubmatic.gdip index ca7b9f9a1..81c566565 100644 --- a/platforms/ios/src/mediation/pubmatic/config/poing-godot-admob-pubmatic.gdip +++ b/platforms/ios/src/mediation/pubmatic/config/poing-godot-admob-pubmatic.gdip @@ -11,8 +11,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-pubmatic.git@exact:5.1.100|PubMaticAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-pubmatic.git", + "version": "5.1.100", + "products": ["PubMaticAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/unity_ads/config/poing-godot-admob-unity_ads.gdip b/platforms/ios/src/mediation/unity_ads/config/poing-godot-admob-unity_ads.gdip index e2729ab6d..559af0854 100644 --- a/platforms/ios/src/mediation/unity_ads/config/poing-godot-admob-unity_ads.gdip +++ b/platforms/ios/src/mediation/unity_ads/config/poing-godot-admob-unity_ads.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-unity.git@exact:4.18.100|UnityAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-unity.git", + "version": "4.18.100", + "products": ["UnityAdapterTarget"] + } ] [plist] diff --git a/platforms/ios/src/mediation/vungle/config/poing-godot-admob-vungle.gdip b/platforms/ios/src/mediation/vungle/config/poing-godot-admob-vungle.gdip index 71b9e6d4b..6900328d5 100644 --- a/platforms/ios/src/mediation/vungle/config/poing-godot-admob-vungle.gdip +++ b/platforms/ios/src/mediation/vungle/config/poing-godot-admob-vungle.gdip @@ -12,8 +12,12 @@ system=[] capabilities=[] files=[] linker_flags=[] -admob_packages=[ - "https://github.com/googleads/googleads-mobile-ios-mediation-liftoffmonetize.git@exact:7.5.300|LiftoffMonetizeAdapterTarget" +spm_packages=[ + { + "url": "https://github.com/googleads/googleads-mobile-ios-mediation-liftoffmonetize.git", + "version": "7.5.300", + "products": ["LiftoffMonetizeAdapterTarget"] + } ] [plist] diff --git a/scripts/build_local.sh b/scripts/build_local.sh index eae57fe37..b406eb7b7 100755 --- a/scripts/build_local.sh +++ b/scripts/build_local.sh @@ -71,8 +71,9 @@ build_android() { chmod +x gradlew if [ "$CLEAN" = true ]; then - echo ">>> Cleaning Android build..." + echo ">>> Cleaning Android build and export directories..." ./gradlew clean || exit 1 + rm -rf "$DEST/addons/admob/android/bin/"* fi ./gradlew build -PgodotVersion="$GODOT_VERSION" && \ @@ -84,6 +85,8 @@ build_ios() { BUILD_OPTS="" if [ "$CLEAN" = true ]; then BUILD_OPTS="--clean" + echo ">>> Cleaning iOS export directories..." + rm -rf "$DEST/ios/plugins/"* fi cd "$ROOT_DIR/platforms/ios" && ./scripts/build.sh $BUILD_OPTS "$GODOT_VERSION" || exit 1