Getting error "Need to acknowledge to Apple's Apple ID and Privacy statement."

Ted picture Ted · Feb 3, 2021 · Viewed 8.9k times · Source

Hi we're getting this error when using fastlane sigh/get_provisioning_profile. I don't think it is a fastlane issue as it happened before case1 case2 and got fixed by accepting the agreement or other unknown reason..

Need to acknowledge to Apple's Apple ID and Privacy statement. Please manually log into https://appleid.apple.com (or https://appstoreconnect.apple.com) to acknowledge the statement.

We went to

but there's nothing to approve there.

Any ideas?

Answer

Ted picture Ted · Feb 4, 2021

Summary:

Case 1:

* You don't want 2FA enabled

  1. Update Gemfile with fastlane 2.173.0 and run bundle install, bundle update fastlane, or bundle update
  2. Use SPACESHIP_SKIP_2FA_UPGRADE=1 in your CI

Case 2:

* You have 2FA enabled

* You only need non-enterprise account

  1. Generate APP_STORE_CONNECT_API_KEY from appstore connect using an Account Holder role.

enter image description here

It looks like

-----BEGIN PRIVATE KEY-----\nabcdef12345abcdef12345\n-----END PRIVATE KEY-----
  1. Add it to your CI as APP_STORE_CONNECT_API_KEY environment variable
lane :get_app_store_connect_api_key do
  ensure_env_vars(
    env_vars: [
      'APP_STORE_CONNECT_API_KEY'
    ]
  ) 
  app_store_connect_api_key(
    key_id: "12345ABCDEF",
    issuer_id: "1234abcd-12ab-12ab-12ab-123456abcdef",
    key_content: "#{ENV["APP_STORE_CONNECT_API_KEY"]}".gsub('\n', '\\n'),
    in_house: false,
  )
end
  1. Pass it to your lanes
get_provisioning_profile(api_key: get_app_store_connect_api_key)

sigh(api_key: get_app_store_connect_api_key)

pilot(api_key: get_app_store_connect_api_key)

Case 3:

* You have 2FA enabled

* You need enterprise account and fetch profiles

  1. Run
fastlane spaceauth -u [email protected]
  1. Use the output as FASTLANE_SESSION environment variable on your CI.

  2. You still need to include FASTLANE_PASSWORD

Note that this only lasts for 8 hours

Case 4:

* You have 2FA enabled

* You need enterprise or non-enterprise account

* You need to upload to appstore

  1. Create FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD from https://appleid.apple.com/account/manage

  2. Set it as environment variable in your ci

Case 5:

* You have 2FA enabled

* You need to download dsyms from appstore connect

  1. Run
fastlane spaceauth -u [email protected]
  1. Use the output as FASTLANE_SESSION environment variable on your CI.

  2. You still need to include FASTLANE_USER and FASTLANE_PASSWORD

Note that this only lasts for 8 hours