[Xcode][SwfitUI] 구글 Admob 광고 설정방법 및 import GoogleMobileAds 문제 해결 방법
구글 애드몹에 가입되어 있고, ios앱을 추가하였고, 광고 단위를 추가했다는 전제에서 출발한다.
1. Xcode 프로젝트 설정
2-1. Google-Mobile-Ads-SDK
설치 (CocoaPods 또는 Swift Package Manager)
✅ Swift Package Manager (권장)
- Xcode 메뉴 > File > Add Packages…
- URL에 입력 :
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
- 버전은 자동 선택되니 추가만 하면 됨.

2. Info.plist 설정
Info.plist
에 아래 항목을 추가해야 한다. GUI 방식으로 하면 노가다!! 49개를 언제 등록하냥
그래서 아래와 같은 절차로 진행하여 붙여넣기 한다.
Info.plist를 Source Code View로 열고 붙여넣기
- Xcode에서
Info.plist
를 마우스 우클릭 > “Open As” > “Source Code” 선택. -
<dict>
안에 적절히 붙여넣으면 되는데, 전체 스니펫 복사하기 해서 가져와서 붙여넣으면 된다.(https://developers.google.com/admob/ios/quick-start?hl=ko#import_the_mobile_ads_sdk)
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<!-- 구글만 추가함, 다른 서브파티 SKAdNetwork ID도 필요할 수 있음 -->
</array>
3. AppDelegate 설정
SwiftUI 프로젝트에는 AppDelegate가 기본으로 없기 때문에 생성해줘야 한다.
✅ AppDelegate.swift 파일 생성
import UIKit
import GoogleMobileAds
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
✅ @main
구조체에 등록
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
4. SwiftUI에서 배너 광고 띄우기
AdMob은 UIKit View 기반이라 SwiftUI에 넣으려면 UIViewRepresentable
을 써야 한다.
✅ BannerAdView.swift
import SwiftUI
import GoogleMobileAds
struct BannerAdView: UIViewRepresentable {
let adUnitID: String
func makeUIView(context: Context) -> GADBannerView {
let banner = GADBannerView(adSize: kGADAdSizeBanner)
banner.adUnitID = adUnitID
banner.rootViewController = UIApplication.shared.windows.first?.rootViewController
banner.load(GADRequest())
return banner
}
func updateUIView(_ uiView: GADBannerView, context: Context) {
}
}
5. SwiftUI 화면에 광고 넣기
struct ContentView: View {
var body: some View {
VStack {
Text("Hello, world!")
.padding()
Spacer()
BannerAdView(adUnitID: "ca-app-pub-xxxxxxxxxxxxxxxx/zzzzzzzzzz")
.frame(width: 320, height: 50)
}
}
}
import GoogleMobileAds 찾지 못해서 오류가 발생할때
import GoogleMobileAds
를 못 찾는 문제는 Google Mobile Ads SDK가 프로젝트에 제대로 추가되지 않았기 때문입니다. 아래 단계대로 다시 확인해보세요.
1. Swift Package Manager(SPM)으로 SDK 추가 (Xcode에서 가장 쉬운 방법)
- Xcode 열기
- 상단 메뉴에서 → File > Add Packages… 클릭
- 팝업창 뜨면 다음 URL 붙여넣기:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
- 엔터 치면 버전 선택이 나오고, 최신 버전 그대로 진행하세요.
- 프로젝트에 추가하려는 Target 체크하고 Add Package 버튼 클릭
👉 성공적으로 추가되면:
GoogleMobileAds
가 Package Dependencies에 보입니다.- 이제
import GoogleMobileAds
가 정상 작동합니다.
2. 그래도 안 될 경우 확인 사항
👉 타겟에 라이브러리 연결 확인
TARGETS > Build Phases > Link Binary With Libraries
에서GoogleMobileAds.framework
가 자동으로 추가되어야 합니다.- 안 보이면 수동으로(+버튼 눌럿) 추가하거나 SPM 다시 연결하세요.
ㄱ