# Integrate

## 0. 최신 ADX iOS SDK 버전

{% hint style="success" %}
Version 2.8.5

Release Date : 2026/04/01
{% endhint %}

## 1. 최소 지원 사양

{% hint style="info" %}

* iOS 13.0 이상
* Xcode 16.0 이상
* CocoaPods
  {% endhint %}

{% hint style="danger" %}
앱 스토어 커넥트에 업로드 날짜에 따른 빌드에 사용하는 Xcode 버전 요구사항은 다음과 같습니다.

* 2025년 4월 24일부터: Xcode 16 이상
* 2026년 4월 28일부터: Xcode 26 이상\
  \
  <https://developer.apple.com/kr/news>
  {% endhint %}

{% hint style="danger" %}
ADX iOS SDK 2.7.1 버전부터, iOS 앱 프로젝트의 info.plist 파일에 "AppLovinSdkKey" 키가 포함되어 있으면 앱 실행 후 아래의 에러 메시지가 Xcode 콘솔에 출력되고 비정상 종료가 발생하므로 제거해야 합니다.\
\
\[AppLovinSdk] ERROR \[ALSdk] Invalid initialization process: please remove the AppLovinSdkKey entry from your Info.plist and set your SDK key with the ALSdkInitializationConfiguration object. Then initialize the SDK as soon as possible with -\[ALSdk initializeWithConfiguration:completionHandler:] before accessing any SDK fields or APIs.
{% endhint %}

## 2. ADX iOS SDK 추가 <a href="#adxlibrary-cocoapods" id="adxlibrary-cocoapods"></a>

{% hint style="info" %}
ADX iOS SDK 업데이트에 따라 아래 내용이 변경될 수 있습니다.
{% endhint %}

1\) 프로젝트의 `Podfile`을 열고 아래 내용을 추가합니다.

```
# 라이브러리 다운로드 소스 추가
source 'https://github.com/adxcorp/AdxLibrary_iOS_Release.git'
source 'https://github.com/CocoaPods/Specs.git'

# 배포 타겟 버전 (Deployment Target Version)
platform :ios, '13.0'

# ADX 라이브러리 추가 (배너,네이티브,전면,보상)
pod 'ADXLibrary', '2.8.5'

# Xcode 15.0 이상 버전에서, TOOL CHAIN 관련 빌드 에러가 발생한다면 아래 코드를 추가하십시오.
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
    xcconfig_path = config.base_configuration_reference.real_path
    xcconfig = File.read(xcconfig_path)
    xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
    File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
    end
  end
end
```

{% hint style="info" %}
Xcode 15.0 이상 버전에서 빌드 시, 일부 광고 네트워크 SDK에서 아래와 같은 에러가 발생할 수 있습니다.\
이 경우 위의 Podfile 내용을 참조하여 수정합니다.

***

**DT\_TOOLCHAIN\_DIR cannot be used to evaluate LIBRARY\_SEARCH\_PATHS, use TOOLCHAIN\_DIR instead**
{% endhint %}

2\) 아래 명령어를 사용하여 라이브러리를 설치하고, 파일 확장자가 `.xcworkspace` 파일을 찾아 열기합니다.

```ruby
pod install --repo-update
```

## 3. Project Setting

1\) 프로젝트의 Bulid Settings에서 `Enable Bitcode`를 `No`로 변경합니다.

![](/files/4OwQYh9OJPNwbopiLfMg)

2\) XCode > Build Settings > Ohter Linker Flags 에서 "-all-load" 또는 "-force\_load" 플래그를 사용하여 빌드 할 경우, 심볼 중복 (Symbol Duplicate)가 발생할 수 있습니다. 이 경우 "-ObjC" 플래그로 변경하십시오.

<figure><img src="/files/9sDV3ZV3oQsToblPLwNm" alt=""><figcaption></figcaption></figure>

3\) 빌드 타겟 선택 후 > Build Settings > Framework Search Paths 에서 "**$(inherited)**" 값이 추가 되어 있는지 확인하고 추가되어 있지 않다면 관련 라이브러리를 찾을 수 없다는 빌드 에러가 발생할 수 있으므로 반드시 추가해주십시오.

<figure><img src="/files/ufEj4qwKczJna20lvTqy" alt=""><figcaption></figcaption></figure>

## 4. iOS 14+ 지원

iOS 14+ 이상 지원하는 경우 [<mark style="color:blue;">ATT(App Tracking Transparency) Framework</mark>](https://developer.apple.com/documentation/apptrackingtransparency?language=objc)를 적용해야 IDFA (Identifier for Advertisers) 식별자를 얻을 수 있습니다. 자세한 방법은 아래 링크를 참고해주십시오.

{% content-ref url="/pages/qf24Is73Bo04kaTaKTLf" %}
[App Tracking Transparency](/adx/ios/supporting-ios-14/app-tracking-transparency.md)
{% endcontent-ref %}

## 5. AdMob APP ID 설정

* `Info.plist` 파일에 `GADApplicationIdentifier` 키와 발급된 AdMob APP ID를 추가합니다.<br>

  <div data-gb-custom-block data-tag="hint" data-style="danger" class="hint hint-danger"><p><strong><code>GADApplicationIdentifier</code></strong>를 추가하지 않으면 다음 메시지가 Xcode 콘솔에 표시되며 앱이 비정상 종료됩니다.<br><code>The Google Mobile Ads SDK was initialized incorrectly.</code></p><hr><p>&#x3C;key>GADApplicationIdentifier&#x3C;/key><br>&#x3C;string>ADMOB_APP_ID&#x3C;/string></p></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://platform-business.gitbook.io/adx/ios/integrate.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
