Upgrade to Pro — share decks privately, control downloads, hide ads and more …

`fastlane beta` или почему я стал пить больше кофе

`fastlane beta` или почему я стал пить больше кофе

Vladimir Burdukov

July 16, 2016
Tweet

More Decks by Vladimir Burdukov

Other Decks in Programming

Transcript

  1. • "Собери билд для тестровщиков." • "Можешь добавить Васин iPhone

    в ad-hoc профайл?" • "Дайте ditribution сертификат для Appstore." • "Залей новые скриншоты, описания и release notes для нашего приложения на 15 языках." • "Кто забыл залить в Crashlytics dSYM?" • "Ой всё, пойду писать под андроид."
  2. День релиза: • паника !; • тестирование "; • release

    notes #; • скриншоты $; • provisioning profile и ditribution certificate %; • Xcode → Product → Archive &&; • Organizer → Upload to Appstore (Next * 5) &;
  3. gym xcodebuild clean archive -archivePath build/MyApp \ -scheme MyApp xcodebuild

    -exportArchive \ -exportFormat ipa \ -archivePath "build/MyApp.xcarchive" \ -exportPath "build/MyApp.ipa" \ -exportProvisioningProfile "ProvisioningProfileName"
  4. scan xcodebuild \ -workspace MyApp.xcworkspace \ -scheme "MyApp" \ -sdk

    iphonesimulator \ -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3' \ test
  5. Время релизов: • тестирование – scan; • обновить release notes,

    скриншоты – deliver; • Xcode → Product → Archive – gym; • Organizer → Upload to Appstore (Next * 5) – deliver;
  6. fastlane beta lane :beta do |options| cocoapods gym( configuration: 'Beta',

    output_name: 'MyApp.beta.ipa', export_method: 'app-store' ) pilot end
  7. fastlane appstore lane :appstore do |options| cocoapods gym( configuration: 'Release',

    output_name: 'MyApp.appstore.ipa', export_method: 'app-store' ) deliver( screenshots_path: '.fastlane/screenshots', metadata_path: '.fastlane/metadata', app_icon: '.fastlane/metadata/AppIcon.png' ) end
  8. gym

  9. match • сертификаты и профили хранятся в отдельном репозитории в

    шифрованном виде • это позволяет быстро получить актуальные сертификаты и профили на новом компьютере • достаточно знать url репозитория и пароль, которым он зашифрован