Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. ENV["FASTLANE_SKIP_UPDATE_CHECK"] = "1"
  2. opt_out_usage
  3. default_platform(:ios)
  4. platform :ios do
  5. desc "Push a new beta build to TestFlight"
  6. lane :deploy do
  7. # Make sure we are on a clean tree
  8. ensure_git_status_clean
  9. # Connect to Apple Store Connect
  10. app_store_connect_api_key(
  11. key_id: ENV["ASC_KEY_ID"],
  12. issuer_id: ENV["ASC_ISSUER_ID"],
  13. key_content: ENV["ASC_KEY_CONTENT"],
  14. duration: 1200,
  15. in_house: false
  16. )
  17. # Set the app identifier
  18. update_app_identifier(
  19. xcodeproj: "app/app.xcodeproj",
  20. plist_path: "src/Info.plist",
  21. app_identifier: "com.atlassian.JitsiMeet.ios"
  22. )
  23. # Set the broadcast extension identifier
  24. update_app_identifier(
  25. xcodeproj: "app/app.xcodeproj",
  26. plist_path: "broadcast-extension/Info.plist",
  27. app_identifier: "com.atlassian.JitsiMeet.ios.broadcast"
  28. )
  29. update_info_plist(
  30. xcodeproj: "app/app.xcodeproj",
  31. plist_path: "src/Info.plist",
  32. block: proc do |plist|
  33. plist["RTCScreenSharingExtension"] = "com.atlassian.JitsiMeet.ios.broadcast"
  34. end
  35. )
  36. # Set the (watch) app identifier
  37. update_app_identifier(
  38. xcodeproj: "app/app.xcodeproj",
  39. plist_path: "watchos/app/Info.plist",
  40. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit"
  41. )
  42. # Set the (watch) extension identifier
  43. update_app_identifier(
  44. xcodeproj: "app/app.xcodeproj",
  45. plist_path: "watchos/extension/Info.plist",
  46. app_identifier: "com.atlassian.JitsiMeet.ios.watchkit.extension"
  47. )
  48. update_info_plist(
  49. xcodeproj: "app/app.xcodeproj",
  50. plist_path: "watchos/app/Info.plist",
  51. block: proc do |plist|
  52. plist["WKCompanionAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios"
  53. end
  54. )
  55. update_info_plist(
  56. xcodeproj: "app/app.xcodeproj",
  57. plist_path: "watchos/extension/Info.plist",
  58. block: proc do |plist|
  59. plist["NSExtension"]["NSExtensionAttributes"]["WKAppBundleIdentifier"] = "com.atlassian.JitsiMeet.ios.watchkit"
  60. end
  61. )
  62. # Inrement the build number by 1
  63. increment_build_number(
  64. build_number: latest_testflight_build_number + 1,
  65. xcodeproj: "app/app.xcodeproj"
  66. )
  67. # Actually build the app
  68. build_app(
  69. scheme: "JitsiMeet",
  70. include_bitcode: true,
  71. include_symbols: true,
  72. export_xcargs: "-allowProvisioningUpdates"
  73. )
  74. # Upload the build to TestFlight (but don't distribute it)
  75. upload_to_testflight(
  76. beta_app_description: ENV["JITSI_CHANGELOG"],
  77. beta_app_feedback_email: ENV["JITSI_REVIEW_EMAIL"],
  78. beta_app_review_info: {
  79. contact_email: ENV["JITSI_REVIEW_EMAIL"],
  80. contact_first_name: ENV["JITSI_REVIEW_NAME"],
  81. contact_last_name: ENV["JITSI_REVIEW_SURNAME"],
  82. contact_phone: ENV["JITSI_REVIEW_PHONE"],
  83. demo_account_name: ENV["JITSI_DEMO_ACCOUNT"],
  84. demo_account_password: ENV["JITSI_DEMO_PASSWORD"],
  85. },
  86. changelog: ENV["JITSI_CHANGELOG"],
  87. demo_account_required: false,
  88. distribute_external: true,
  89. groups: ENV["JITSI_BETA_TESTING_GROUPS"],
  90. reject_build_waiting_for_review: true,
  91. uses_non_exempt_encryption: false
  92. )
  93. # Cleanup
  94. clean_build_artifacts
  95. reset_git_repo(skip_clean: true)
  96. end
  97. lane :refresh_dsyms do
  98. # Connect to Apple Store Connect
  99. app_store_connect_api_key(
  100. key_id: ENV["ASC_KEY_ID"],
  101. issuer_id: ENV["ASC_ISSUER_ID"],
  102. key_content: ENV["ASC_KEY_CONTENT"],
  103. duration: 1200,
  104. in_house: false
  105. )
  106. # Upload dSYMs to Crashlytics
  107. download_dsyms(min_version: ENV["DSYMS_MIN_VERSION"]) # Download dSYM files from iTC
  108. upload_symbols_to_crashlytics # Upload them to Crashlytics
  109. clean_build_artifacts # Delete the local dSYM files
  110. end
  111. end