# iOS SDK

## 1. SDK 추가하기

CocoaPods와 SPM을 지원합니다. 최신 버전(LATEST\_VERSION)은 아래 배지를 통해 확인 가능합니다.

[![Version](https://camo.githubusercontent.com/0e2d1c2a8a1ab5ee75a68ffb8caa8462d4d75c6d73c0f798d2d5636b71683b80/68747470733a2f2f696d672e736869656c64732e696f2f636f636f61706f64732f762f4d61726b6574617053444b2e7376673f7374796c653d666c6174)](https://cocoapods.org/pods/MarketapSDK)

### 1.1 CocoaPods

Podfile에 다음과 같이 추가하고 pod install 해주세요.&#x20;

```ruby
use_frameworks!

target 'YOUR_PROJECT_NAME' do
  ...
  pod 'MarketapSDK', '~> LATEST_VERSION'
  ...
end
```

### 1.2 SPM (Swift Package Manager)

Package URL에 <https://github.com/marketap-dev/marketap-ios-sdk> 를 입력, Up To Next Minor Version LATEST\_VERSION 을 넣고 진행해줍니다.

<figure><img src="https://content.gitbook.com/content/TQoY0rYrzNUQxhlUfYFm/blobs/NUoYcB9BVL168JO4QXTU/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202025-02-20%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2012.03.25.png" alt=""><figcaption></figcaption></figure>

앱 타겟에 `MarketapSDK` 를 추가해주세요.

<figure><img src="https://260547158-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTQoY0rYrzNUQxhlUfYFm%2Fuploads%2FHAoLU5Cx9JKEEbPhhjP7%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202025-07-07%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%204.12.10.png?alt=media&#x26;token=a4ca01dc-14ab-4ded-9a1d-d60a9f2ef156" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
MarketapSDKNotificationServiceExtension 관련 설정은 [iOS 푸시 설정](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/push-notification/integration/ios) 에서 확인할 수 있습니다.
{% endhint %}

## 2. 연동 코드 작성하기

`AppDelegate` 에 다음과 같이 초기화 및 생명주기 함수를 추가해줍니다. [프로젝트 ID ](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/initialize/broken-reference)는 마켓탭 콘솔의 프로젝트 설정에서 확인 가능합니다.

{% tabs %}
{% tab title="Swift" %}

<pre class="language-swift"><code class="lang-swift">import MarketapSDK

class AppDelegate: UIResponder, UIApplicationDelegate {
  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {    
    // ...
<strong>    Marketap.initialize(projectId: "PROJECT_ID")
</strong><strong>    Marketap.application(application, didFinishLaunchingWithOptions: launchOptions)
</strong>    // ...
    return true
  }
}
</code></pre>

{% endtab %}

{% tab title="Objective-C" %}

<pre class="language-objectivec"><code class="lang-objectivec">@import MarketapSDK;
#import "AppDelegate.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // ...
<strong>    [Marketap initializeWithProjectId:@"PROJECT_ID"];
</strong>    // ...
    return YES;
}

@end

</code></pre>

{% endtab %}
{% endtabs %}

{% hint style="success" %}
보유한 프로젝트의 Project ID 값은 [이 문서](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/getting-started/marketap-overview/project-setting)를 통해 확인이 가능합니다.
{% endhint %}

### 2.1 로그 확인

xcode 콘솔에서 다음 로그를 확인할 수 있습니다.

```objectivec
[Marketap.swift:58] Marketap SDK initialized successfully with projectId: ...
```

## 3. 이어서 진행하기

아래 카드를 통해 iOS에 필요한 연동을 이어서 하실 수 있습니다. Marketap SDK가 권장하는 기능 연동 순서는 [functions](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/functions "mention") 페이지를 확인해주세요.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Event 및 User 연동</td><td><a href="../../taxonomy/sdk">sdk</a></td></tr><tr><td>Push Notification 연동</td><td><a href="../../push-notification/overview">overview</a></td></tr><tr><td>In-App Campaign</td><td><a href="../../in-app-message">in-app-message</a></td></tr><tr><td>심화 연동</td><td><a href="../../advanced-usage/overview">overview</a></td></tr></tbody></table>
