> For the complete documentation index, see [llms.txt](https://docs.ecommerce.seb.ee/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ecommerce.seb.ee/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/installimine.md).

# Installimine

Kontrollige SDK arhiivi ja lisage EGWPay oma rakendusse Swift Package Manageri, CocoaPodsi või XCFrameworki abil.

## Eeldused

* iOS 15.0 või uuem, Xcode 15 või uuem.
* Sandboxi API mandaadid: a **kliendi ID** ja **kliendi saladus**, lisaks teie **osaleja ID** ja **kaupluse lepingu ID**. Teie taustsüsteem kasutab neid; rakendus ei näe neid kunagi.
* SDK **jaotusarhiiv** ja selle vastava kontrollsumma faili, mis on alla laaditud sellelt dokumentatsioonisaitilt.

## Kinnitage ja pakkige lahti

Kontrollige arhiivi enne lahtipakkimist:

```bash
shasum -a 256 -c egw-ios-sdk-<version>.zip.sha256

unzip egw-ios-sdk-<version>.zip -d egw-ios-sdk
```

Lahtipakitud arhiiv sisaldab `EGWPay.podspec` oma juurkataloogis ja Swift-paketti kaustas `egw-ios/`. Hoidke seda kusagil püsivas kohas, teie rakenduse lähtekoodi kõrval või sinna lisatuna, sest iga installikanal viitab sellele teepõhiselt.

Kõigi kolme alloleva kanali kood on identne.

| Kanal                 | Kasutage, kui                                                                                      |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| Swift Package Manager | Vaikimisi. Kõige lihtsam lisada ja uuendada.                                                       |
| CocoaPods             | Teie projekt kasutab juba CocoaPodsit.                                                             |
| XCFramework           | Te ei saa kasutada paketihaldurit või soovite kontrollitud binaari ilma lähtekoodita oma ehituses. |

***

## Swift Package Manager

Xcode'is valige **File → Add Package Dependencies…**, klõpsake **Add Local…**, valige `egw-ios/` lahtipakitud arhiivi sees olev kataloog (see, mis sisaldab `Package.swift`), ning lisage **EGWPay** teegi toode oma rakenduse sihtmärgile.

Ühes `Package.swift`:

```swift
dependencies: [
    .package(path: "../egw-ios-sdk/egw-ios")
],
targets: [
    .target(name: "MyApp", dependencies: [
        .product(name: "EGWPay", package: "egw-ios")
    ])
]
```

Kohandage suhteline tee vastavalt sellele, kuhu te arhiivi lahti pakkisite. Kohalik `tee:` sõltuvus ei määra versiooninõuet, seega Swift Package Manager ehitab selle, mis sellel teel asub. Versiooni kinnitate, valides, millise arhiivi te sinna lahti pakite.

***

## CocoaPods

```ruby
platform :ios, '15.0'

target 'MyApp' do
  use_frameworks!

  pod 'EGWPay', :path => '../egw-ios-sdk'
end
```

Seejärel käivitage `pod install`.

* `:path` osutab **juurele** lahtipakitud arhiivis, mitte `egw-ios/`. CocoaPods otsib juurest podspec-faili ning just seal `EGWPay.podspec` see asub.
* `use_frameworks!` on nõutav. EGWPay on Swiftis kirjutatud ja pärandne staatilise teegi integratsioon ei saa Swift-pod'e ehitada. Kui teie projekt ei saa seda kasutada, installige selle asemel XCFramework.
* Podspec ei deklareeri ressursse ega sõltuvusi, seega pole midagi muud seadistada.

***

## XCFramework

Ehitage binaar lahtipakitud arhiivist:

```bash
cd egw-ios-sdk/egw-ios
Scripts/build-xcframework.sh
# → build/EGWPay.xcframework.zip
```

Skript ehitab seadme- ja simulaatorilõigud koos `BUILD_LIBRARY_FOR_DISTRIBUTION=YES`, mis võimaldab binaari kasutada ka teise Swift-kompilaatori versiooniga kui see, millega see ehitati.

Selle lisamiseks: pakkige lahti, lohistage `EGWPay.xcframework` oma projekti, seejärel valige oma rakenduse sihtmärk ja avage **General → Frameworks, Libraries, and Embedded Content**, ning määrake EGWPay väärtuseks **Embed & Sign**.

Selle seadistamine väärtusele **Do Not Embed** kompileerub puhtalt, kuid kukub käivitamisel kokku veaga `dyld: Library not loaded`. See on kõige levinum paigaldusviga.

{% hint style="info" %}
Kopeerimine `.swift` lähtekoodi otse oma rakendusse ei ole toetatud. Lähtekood kompileeruks teie moodulisse, seega rakenduksid sellele teie ehitussätted ja Swifti versioon ning iga sisemine tüüp muutuks teie koodile nähtavaks. Kasutage ühte kolmest ülaltoodud kanalist.
{% endhint %}

***

## Kinnitage paigaldus

Lisage see oma rakenduse suvalisse faili ja ehitage:

```swift
import EGWPay

let probe = Configuration(apiBaseURL: nil, environment: .sandbox)
print(probe.environment == .sandbox)
```

Objective-C-st:

```objc
@import EGWPay;

EGWConfiguration *probe = [[EGWConfiguration alloc] initWithApiBaseURL:nil
                                                           environment:EGWEnvironmentSandbox];
NSLog(@"%@", probe);
```

Kui Objective-C vorm ei kompileeru, kontrollige, et teie sihtmärgil oleks `CLANG_ENABLE_MODULES` on väärtusega `YES`, mis on Xcode'i vaikeseade. `@import` vajab seda.

Pöörake tähelepanu nimetusele: Swiftis on tüübid ilma eesliiteta (`Konfiguratsioon`, `PaymentKit`), ning Objective-C-s kannavad samad tüübid `EGW` eesliidet (`EGWConfiguration`, `EGWPaymentKit`).

***

## Järgmised sammud

* [Kiirjuhend](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/kiirstart.md) - tehke oma esimene sandbox-makse.
* [taustsüsteemi integreerimine](/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/juhendid/tagasusteemi-integratsioon.md) - mida teie taustsüsteem peab saatma enne, kui rakendus saab käivituda.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.ecommerce.seb.ee/seb-docs-draft/seb-docs-public-et/integratsioon/mobiilne-sdk/ios-sdk/installimine.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
