- cd $FCI_BUILD_DIR/bmi_flutter && flutter packages pub get
– Установка подфайла
- find . -name "Podfile" -execdir pod install ;
– Инициализация связки ключей
- keychain initialize
– Декодирование профиля обеспечения и размещение его в папке, откуда к нему можно будет получить доступ при выполнении подписи кода.
PROFILES_HOME="HOME/Library/MobileDevice/Provisioning ProfilesPROFILES_HOME" PROFILE_PATH="(mktempPROFILES_HOME"/$(uuidgen).mobileprovision)" echo ${CM_PROVISIONING_PROFILE} | base64 --decode > $PROFILE_PATH echo "Saved provisioning profile $PROFILE_PATH"
– Расшифровка сертификата подписи и добавление его в связку ключей.
echo $CM_CERTIFICATE | base64 --decode > /tmp/certificate.p12 keychain add-certificates --certificate /tmp/certificate.p12 --certificate-password $CM_CERTIFICATE_PASSWORD
– Создаём только модуль Flutter (этот шаг нужен для создания некоторых файлов, необходимых собственному приложению iOS для получения модуля Flutter).
- cd $FCI_BUILD_DIR/bmi_flutter && flutter build ios --release --no-codesign
– Использование профиля и создание собственного приложения iOS с модулем Flutter для создания. ipa.
- cd FCI_BUILD_DIR/BMI Calculator/BMI Calculator.xcworkspace" --scheme "BMI Calculator"
Чтобы получить .ipa после сборки, необходимо определить правильный путь к сгенерированному артефакту.
artifacts:
- build/ios/ipa/*.ipa
Перед запуском скрипта помещаем codemagic. yaml в корневой каталог проекта.
4. Выбираем правильный рабочий процесс и нажимаем «Начать новую сборку».
Процесс сборки на Codemagic с использованием YAML успешно завершен.
import 'dart:convert';
import 'package:flutter_test/flutter_test.dart';
void main() {
String jsonTest = '{' +
'"value" : "44.4",' +
'"color" : "pink",' +
'"advice" : "Eat less pies!"' +
'}';
var jData = jsonDecode(jsonTest);
test("Json Data Test", (){
expect(jData['value'], "44.4");
expect(jData['color'], "pink");
expect(jData['advice'], "Eat less pies!");
});
}
- cd $FCI_BUILD_DIR/bmi_flutter && flutter test
Весь YAML- скрипт для этой сборки доступен здесь.