> 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-lv/integracija/mobilais-sdk/ios-sdk/uzstadisana.md).

# Uzstādīšana

Pārbaudiet SDK arhīvu un pievienojiet EGWPay savai lietotnei ar Swift Package Manager, CocoaPods vai XCFramework.

## Priekšnosacījumi

* iOS 15.0 vai jaunāka versija, Xcode 15 vai jaunāka versija.
* Sandbox API akreditācijas dati: a **klienta ID** un **klienta noslēpums**, kā arī jūsu **dalībnieka ID** un **veikala līguma ID**. Jūsu aizmugursistēma tos izmanto; lietotne tos nekad neredz.
* SDK **izplatīšanas arhīvs** un tā atbilstošais kontrolsummas fails, lejupielādēti no šīs dokumentācijas vietnes.

## Pārbaudiet un izpakojiet

Pārbaudiet arhīvu, pirms to izpakojat:

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

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

Izpakotajā arhīvā ir `EGWPay.podspec` tā saknē un Swift pakotne mapē `egw-ios/`. Glabājiet to stabilā vietā, blakus savas lietotnes repozitorija kopijai vai iekļaujiet to tajā, jo katrs instalēšanas kanāls uz to norāda pēc ceļa.

Visos trīs tālāk minētajos kanālos tiek piegādāts identisks kods.

| Kanāls                | Lietojiet, ja                                                                                        |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| Swift Package Manager | Noklusējums. Visvienkāršākais pievienošanai un atjaunināšanai.                                       |
| CocoaPods             | Jūsu projektā jau tiek izmantots CocoaPods.                                                          |
| XCFramework           | Nevarat izmantot pakotņu pārvaldnieku vai vēlaties pārskatītu bināro failu bez avota koda savā būvē. |

***

## Swift Package Manager

Xcode izvēlieties **File → Add Package Dependencies…**, noklikšķiniet uz **Add Local…**, atlasiet `egw-ios/` mapi izpakotajā arhīvā (to, kurā ir `Package.swift`), un pievienojiet **EGWPay** bibliotēkas produktu savas lietotnes mērķim.

Sadaļā `Package.swift`:

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

Pielāgojiet relatīvo ceļu tam, kur esat izpakojuši arhīvu. Vietējs `path:` atkarīgajam nav versijas prasības, tāpēc Swift Package Manager būvē to, kas atrodas tajā ceļā. Jūs piesaistāt versiju, izvēloties, kuru arhīvu tur izpakojat.

***

## CocoaPods

```ruby
platform :ios, '15.0'

target 'MyApp' do
  use_frameworks!

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

Pēc tam palaidiet `pod install`.

* `:path` norāda uz **izpakotā arhīva sakni** nevis uz `egw-ios/`. CocoaPods meklē podspec saknē, un tieši tur `EGWPay.podspec` atrodas.
* `use_frameworks!` ir nepieciešams. EGWPay ir rakstīts Swift, un mantotā statiskās bibliotēkas integrācija nevar būvēt Swift podus. Ja jūsu projekts to nevar izmantot, instalējiet XCFramework.
* Podspecā nav deklarēti resursi un nav atkarību, tāpēc nekas cits nav jākonfigurē.

***

## XCFramework

Izveidojiet bināro failu no izpakotā arhīva:

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

Skripts izveido ierīces un simulatora daļas ar `BUILD_LIBRARY_FOR_DISTRIBUTION=YES`, kas ļauj bināro failu izmantot ar citu Swift kompilatora versiju nekā to, ar kuru tas tika izveidots.

Lai to pievienotu: izpakojiet, velciet `EGWPay.xcframework` savā projektā, pēc tam atlasiet savas lietotnes mērķi un atveriet **General → Frameworks, Libraries, and Embedded Content**un iestatiet EGWPay uz **Embed & Sign**.

Iestatot to uz **Do Not Embed** tiek sekmīgi kompilēts un pēc tam palaišanas laikā avarē ar `dyld: Library not loaded`. Tā ir visbiežāk pieļautā instalēšanas kļūda.

{% hint style="info" %}
Kopējot `.swift` avota failus tieši savā lietotnē, tas netiek atbalstīts. Avota faili tiktu kompilēti jūsu modulī, tāpēc uz tiem attiektos jūsu būvēšanas iestatījumi un Swift versija, un katrs iekšējais tips kļūtu redzams jūsu kodam. Izmantojiet kādu no trim iepriekš minētajiem kanāliem.
{% endhint %}

***

## Pārbaudiet instalāciju

Pievienojiet šo jebkuram failam savā lietotnē un izveidojiet būvi:

```swift
import EGWPay

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

No Objective-C:

```objc
@import EGWPay;

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

Ja Objective-C variants netiek kompilēts, pārbaudiet, vai jūsu mērķim ir `CLANG_ENABLE_MODULES` ir iestatīts uz `YES`, kas ir Xcode noklusējums. `@import` to pieprasa.

Pievērsiet uzmanību nosaukumam: Swift valodā tipi ir bez prefiksa (`Konfigurācija`, `PaymentKit`), bet Objective-C tie paši tipi nes `EGW` prefiksu (`EGWConfiguration`, `EGWPaymentKit`).

***

## Nākamie soļi

* [Ātrā darba sākšana](/seb-docs-draft/seb-docs-public-lv/integracija/mobilais-sdk/ios-sdk/atrais-sakums.md) - veiciet savu pirmo sandbox maksājumu.
* [Backend integrācija](/seb-docs-draft/seb-docs-public-lv/integracija/mobilais-sdk/ios-sdk/celvezi/backend-integracija.md) - ko jūsu aizmugursistēmai jānosūta, pirms lietotne var startēt.


---

# 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-lv/integracija/mobilais-sdk/ios-sdk/uzstadisana.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.
