В проекте используем Ruby гем CocoaPods (https://cocoapods.org)
Для управления версией Ruby используем rbenv (https://metova.com/choosing-a-ruby-version-management-tool-rbenv-vs-rvm/)
Для управления гемами проекта используем bundler (http://bundler.io)
Для сборки проекта необходим актуальный Xcode (Xcode 12.5 (12E262) на момент создания/правки этого документа)
- Установить Homebrew + rbenv (если уже установлено, то пропускаем этот шаг)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install rbenv
- Установить необходимую версию Ruby (смотри версию в файле .ruby-version в папке проекта) (если уже установлено, то пропускаем этот шаг)
rbenv install 2.6.1
- Добавить в конец файла ~/.bash_profile (если уже настроено, то переходим к шагу 5)
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
-
Перезапустить Terminal
-
Установить bundler (если уже установлено, то пропускаем этот шаг)
gem install bundler
-
Склонировать репозиторий проекта, в терминале перейти в папку проекта
-
Установить описаные в Gemfile зависимости
bundle install
- Установить описанные в Podfile зависимости
bundle exec pod install --repo-update
- Открыть RBKmoneyPaymentsSDK.xcworkspace в Xcode
Различные идентификаторы вынесены в приватный xcconfig файл (Private.Example.Debug.xcconfig
для debug конфигурации, Private.Example.Release.xcconfig
для release конфигурации). Необходимо создать эти файлы и указать идентификаторы.
Содержимое файлов имеет следующий примерный вид:
PRODUCT_BUNDLE_IDENTIFIER = <your app bundle identifier>
DEVELOPMENT_TEAM = <dev team>
APPLE_PAY_MERCHANT_IDENTIFIER = <apple pay merchant identifier>
PROVISIONING_PROFILE_SPECIFIER = <provisioning profile specifier>
Файлы необходимо положить по следующему пути:
Example
├─ Resources
├─ Sources
└─ Supporting Files
├─ ....
├─ ....
└─ Private
├─ Private.Example.Debug.xcconfig
└─ Private.Example.Release.xcconfig
Проект сам по себе уже полностью настроен на работу с Apple Pay согласно документу, но требуются внешние (по отношению к проекту) настройки - в панели разработчика Apple и настройка Apple Pay на стороне сервера RBKmoney. После настройки необходимо указать APPLE_PAY_MERCHANT_IDENTIFIER
в xcconfig файле. Если же Apple Pay не требуется или выполнение настроек не представляется возможным, то можно удалить все упоминания APPLE_PAY_MERCHANT_IDENTIFIER
во всех файлах проекта (найти поиском).
Воркспейс содержит 3 таргета:
- Example - демо-приложение с интеграцией SDK через embedded framework (зависимость от таргета Framework) (используется при разработке SDK)
- Example+Pods - демо-приложение с интеграцией SDK через CocoaPods (рекомендуемый вариант использования SDK)
- Framework - сборка SDK в фреймворк
Для сборки и запуска проекта используется либо первый, либо второй таргет.