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

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

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

Vladimir Burdukov

January 26, 2017
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. День релиза: • отправить на ревью ! ; • выпить

    кофе ☕☕ ; • отметить релиз ### .
  4. gym

  5. gym xcodebuild clean archive -archivePath build/MyApp \ -scheme MyApp xcodebuild

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

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

    загрузить скриншоты – deliver; • Xcode → Product → Archive – gym; • Organizer → Upload to Appstore (Next * 5) – deliver;
  8. fastlane beta lane :beta do |options| cocoapods set_info_plist_value( path: 'MyApp/Info.plist',

    key: 'CFBundleVersion', value: (latest_testflight_build_number + 1).to_s )
  9. fastlane appstore lane :appstore do |options| cocoapods set_info_plist_value( ... )

    gym( configuration: 'Release', output_name: 'MyApp.appstore.ipa', export_method: 'app-store' )
  10. gym

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

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