From 48dced1b9920d187bb2d71788fd4854271f16d6a Mon Sep 17 00:00:00 2001 From: leesam Date: Tue, 10 Mar 2026 14:25:50 +0900 Subject: [PATCH] chore: remove CocoaPods, migrate to SPM only CocoaPods is deprecated and shutting down. Remove Podfile and GADManager.podspec; update CLAUDE.md to reflect SPM-only distribution. Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 21 +++--- GADManager.podspec | 156 --------------------------------------------- Podfile | 11 ---- 3 files changed, 9 insertions(+), 179 deletions(-) delete mode 100644 GADManager.podspec delete mode 100644 Podfile diff --git a/CLAUDE.md b/CLAUDE.md index b9cccd7..6c3995f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,25 +2,17 @@ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. -## Build & Lint +## Build ```bash -# Validate podspec -pod spec lint GADManager.podspec - -# Build via SPM swift build - -# CocoaPods install (in consumer projects) -pod install ``` ## Release Process -1. Bump version in `GADManager.podspec` (`s.version`) +1. Bump version in `Package.swift` (if applicable) and update version references 2. Commit: `bump: release a.b.c` 3. Tag: `git tag a.b.c && git push origin a.b.c` -4. Push podspec: `pod trunk push GADManager.podspec` ## Architecture @@ -53,8 +45,13 @@ GADManager is a generic Swift library (`GADManager`) that wraps Google Mobile ## Distribution -- **CocoaPods**: `pod 'GADManager'` — depends on `Google-Mobile-Ads-SDK` (static framework) -- **SPM**: `Package.swift` — depends on `swift-package-manager-google-mobile-ads` ≥ 12.6.0 +**SPM only** (CocoaPods removed — CocoaPods is deprecated): + +```swift +.package(url: "https://github.com/2sem/GADManager.git", from: "1.3.8") +``` + +Depends on `swift-package-manager-google-mobile-ads` ≥ 12.6.0. ## CI diff --git a/GADManager.podspec b/GADManager.podspec deleted file mode 100644 index 0ed723f..0000000 --- a/GADManager.podspec +++ /dev/null @@ -1,156 +0,0 @@ -# -# Be sure to run `pod spec lint GADManager.podspec' to ensure this is a -# valid spec and to remove all comments including this before submitting the spec. -# -# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html -# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ -# - -Pod::Spec.new do |s| - -# ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# These will help people to find your library, and whilst it -# can feel like a chore to fill in it's definitely to your advantage. The -# summary should be tweet-length, and the description more in depth. -# -# -s.name = "GADManager" -s.version = "1.3.8" -s.swift_version = "4.1" -s.summary = "Google AD Manager Library" - -# This description is used to generate tags and improve search results. -# * Think: What does it do? Why did you write it? What is the focus? -# * Try to keep it short, snappy and to the point. -# * Write the description between the DESC delimiters below. -# * Finally, don't worry about the indent, CocoaPods strips it! -s.description = <<-DESC -GADManager is manager for Google AD to manage scheduling presenting Interstitial Ads . -DESC - -s.homepage = "https://github.com/2sem/GADManager" -# s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" - - -# ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# Licensing your code is important. See http://choosealicense.com for more info. -# CocoaPods will detect a license file if there is a named LICENSE* -# Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. -# - -=begin -s.license = { :type => "MIT", :text => <<-LICENSE -Copyright 2018 @ leesam -LICENSE -} -=end -s.license = { :type => "MIT", :file => "LICENSE" } - -# ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# Specify the authors of the library, with email addresses. Email addresses -# of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also -# accepts just a name if you'd rather not provide an email address. -# -# Specify a social_media_url where others can refer to, for example a twitter -# profile URL. -# - -#s.author = { "" => "" } -s.author = "YoungJun Lee" -# Or just: s.author = "" -# s.authors = { "" => "" } -s.social_media_url = "https://www.linkedin.com/in/gamehelper/" - -# ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# If this Pod runs only on iOS or OS X, then specify the platform and -# the deployment target. You can optionally include the target after the platform. -# - -# s.platform = :ios -s.platform = :ios, "12.0" - -# When using multiple platforms -#s.ios.deployment_target = "10.0" -# s.osx.deployment_target = "10.7" -# s.watchos.deployment_target = "2.0" -# s.tvos.deployment_target = "9.0" - - -# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# Specify the location from where the source should be retrieved. -# Supports git, hg, bzr, svn and HTTP. -# - -s.source = { :git => "https://github.com/2sem/GADManager.git", :tag => "#{s.version}" } - -# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# CocoaPods is smart about how it includes source code. For source files -# giving a folder will include any swift, h, m, mm, c & cpp files. -# For header files it will include any header in the folder. -# Not including the public_header_files will make all headers public. -# - -s.source_files = "**/*.swift"#, "**/*.{h,m}" -#s.exclude_files = "Classes/Exclude" - -# s.public_header_files = "Classes/**/*.h" - - -# ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# A list of resources included with the Pod. These are copied into the -# target bundle with a build phase script. Anything else will be cleaned. -# You can preserve files from being cleaned, please don't preserve -# non-essential files like tests, examples and documentation. -# - -# s.resource = "icon.png" -# s.resources = "Resources/*.png" - -# s.preserve_paths = "FilesToSave", "MoreFilesToSave" - - -# ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# Link your library with frameworks, or libraries. Libraries do not include -# the lib prefix of their name. -# - -# s.framework = "SomeFramework" -# s.frameworks = "SomeFramework", "AnotherFramework" - -# s.library = "iconv" -# s.libraries = "iconv", "xml2" - - -# ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # -# -# If your library depends on compiler flags you can set them in the xcconfig hash -# where they will only apply to your library. If you depend on other Podspecs -# you can include multiple dependencies to ensure it works. - -# s.requires_arc = true - -#s.xcconfig = { 'VALID_ARCHS' => 'arm64 x86_64 i386' } -# s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" } -# s.dependency 'Firebase/Core' -s.static_framework = true - -s.dependency "Google-Mobile-Ads-SDK" #"Firebase/AdMob" -#s.dependency "Firebase/Analytics" -s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } #, 'VALID_ARCHS' => 'arm64 x86_64 i386' -s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } #, 'VALID_ARCHS' => 'arm64 x86_64 i386' -#s.dependency.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } - -# 'ONLY_ACTIVE_ARCH' => 'YES' -#pod 'Firebase/Messaging' -#pod 'Firebase/AdMob' -#pod 'Firebase/Firestore' -# s.xcconfig = { "APPLICATION_EXTENSION_API_ONLY" => "NO" } -end diff --git a/Podfile b/Podfile deleted file mode 100644 index ed529ee..0000000 --- a/Podfile +++ /dev/null @@ -1,11 +0,0 @@ -# Uncomment the next line to define a global platform for your project -# platform :ios, '9.0' - -target 'GADManager' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for GADManager - pod 'Firebase/AdMob' - -end