> 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-lt/integracija/mobilusis-sdk/ios-sdk/idiegimas.md).

# Įdiegimas

Patikrinkite SDK archyvą ir pridėkite EGWPay prie savo programėlės naudodami Swift Package Manager, CocoaPods arba XCFramework.

## Būtinos sąlygos

* iOS 15.0 arba naujesnė, Xcode 15 arba naujesnė.
* Sandbox API kredencialai: a **kliento ID** ir **kliento slaptasis raktas**, taip pat jūsų **dalyvio ID** ir **parduotuvės sutarties ID**. Jūsų backendas juos naudoja; programa jų niekada nemato.
* SDK **platinimo archyvas** ir atitinkamas kontrolinės sumos failas, atsisiųsti iš šios dokumentacijos svetainės.

## Patikrinkite ir išpakuokite

Prieš išpakuodami archyvą, patikrinkite jį:

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

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

Išpakuotame archyve yra `EGWPay.podspec` jo šakniniame kataloge ir Swift paketas `egw-ios/`. Laikykite jį pastovioje vietoje, šalia savo programos kodo kopijos arba įtraukite į projektą, nes kiekvienas diegimo kanalas į jį nurodo pagal kelią.

Visi trys žemiau pateikti kanalai pateikia identišką kodą.

| Kanalas               | Naudoti, kai                                                                                              |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| Swift Package Manager | Numatytoji. Paprasčiausia pridėti ir atnaujinti.                                                          |
| CocoaPods             | Jūsų projektas jau naudoja CocoaPods.                                                                     |
| XCFramework           | Negalite naudoti paketų tvarkyklės arba norite patikrinto dvejetainio failo be šaltinio kodo savo kūrime. |

***

## Swift Package Manager

Xcode pasirinkite **File → Add Package Dependencies…**, spustelėkite **Add Local…**, pasirinkite `egw-ios/` katalogą išpakuotame archyve (tą, kuriame yra `Package.swift`), ir pridėkite **EGWPay** bibliotekos produktą prie savo programos tikslo.

Sistemoje `Package.swift`:

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

Pakoreguokite santykinį kelią pagal tai, kur išpakuojate archyvą. Vietinė `kelias:` priklausomybė neturi versijos reikalavimo, todėl Swift Package Manager sukuria viską, kas yra tame kelyje. Versiją pririšate pasirinkdami, kurį archyvą ten išpakuojate.

***

## CocoaPods

```ruby
platform :ios, '15.0'

target 'MyApp' do
  use_frameworks!

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

Tada paleiskite `pod install`.

* `:path` nurodo į **šakninį katalogą** išpakuoto archyvo, o ne į `egw-ios/`. CocoaPods ieško podspec failo šakniniame kataloge, ir ten yra `EGWPay.podspec` .
* `use_frameworks!` reikalinga. EGWPay yra sukurtas „Swift“, o senoji statinės bibliotekos integracija negali sukurti Swift podų. Jei jūsų projektas negali jos naudoti, įdiekite XCFramework vietoj to.
* Podspec'e nenurodyta nei išteklių, nei priklausomybių, todėl daugiau nieko konfigūruoti nereikia.

***

## XCFramework

Sukurkite dvejetainį failą iš išpakuoto archyvo:

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

Scenarijus kuria įrenginio ir simuliatoriaus segmentus su `BUILD_LIBRARY_FOR_DISTRIBUTION=YES`, o tai leidžia dvejetainį failą naudoti su kita „Swift“ kompiliatoriaus versija nei ta, kuria jis buvo sukurtas.

Norėdami jį pridėti: išpakuokite, nutempkite `EGWPay.xcframework` į savo projektą, tada pasirinkite savo programos tikslą, atidarykite **General → Frameworks, Libraries, and Embedded Content**, ir nustatykite EGWPay kaip **Embed & Sign**.

Nustačius į **Do Not Embed** kompiliuojasi tvarkingai, o tada paleidžiant sugriūva su `dyld: Library not loaded`. Tai dažniausia diegimo klaida.

{% hint style="info" %}
Nukopijuoti `.swift` šaltinio kodo tiesiai į savo programą nepalaikoma. Šaltinis būtų kompiliuojamas į jūsų modulį, todėl jam taikytųsi jūsų kūrimo nustatymai ir „Swift“ versija, o kiekvienas vidinis tipas taptų matomas jūsų kodui. Naudokite vieną iš trijų aukščiau pateiktų kanalų.
{% endhint %}

***

## Patikrinkite diegimą

Pridėkite tai į bet kurį savo programos failą ir sukompiliuokite:

```swift
import EGWPay

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

Iš Objective-C:

```objc
@import EGWPay;

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

Jei Objective-C forma nesikompiliuoja, patikrinkite, ar jūsų tikslui nustatyta `CLANG_ENABLE_MODULES`  nustatyta į  `YES`, o tai yra numatytasis Xcode nustatymas. `@import` to reikalauja.

Atkreipkite dėmesį į pavadinimą: „Swift“ kalboje tipai neturi priešdėlio (`Konfigūracija`, `PaymentKit`), o „Objective-C“ tie patys tipai turi `EGW` priešdėlį (`EGWConfiguration`, `EGWPaymentKit`).

***

## Tolimesni žingsniai

* [Greita pradžia](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/greita-pradzia.md) - atlikti pirmąjį testinį mokėjimą smėlio dėžėje.
* [Backend'o integracija](/seb-docs-draft/seb-docs-public-lt/integracija/mobilusis-sdk/ios-sdk/gaires/integracija-galineje-sistemoje.md) - ką jūsų backendas turi išsiųsti prieš programai paleidžiant.


---

# 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-lt/integracija/mobilusis-sdk/ios-sdk/idiegimas.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.
