title: Push Notifications don't work after deploying Expo app to Apple store's TestFlight
body: <p>Push Notifications works perfectly side loaded to my iOS phone.  I can fetch the token and successfully save it to and recall it from my Google Firestore db.  Recalling it to send out notifications also work as expected.  If I'm not in the App, I get a notification.  If I am in the app, my Notification Listener works well.</p>
  
  <p>After building to iOS and deploying the stand alone app to TestFlight on Apple's servers, Push Notifications no longer work.</p>
  
  <p>This is my build.</p>
  
  <pre><code>Adrians-MBP:xxxxx abarthol$ expo build:ios -c
  Checking if there is a build in progress...
  
  Removed existing credentials from expo servers
  Please enter your Apple Developer Program account credentials. These
  credentials are needed to manage certificates, keys and provisioning profiles
  in your Apple Developer account.
  The password is only used to authenticate with Apple and never stored.
  ? Apple ID: xxxxx
  ? Password (for xxxxx): [hidden]
  Trying to authenticate with Apple Developer Portal...
  Authenticated with Apple Developer Portal successfully!
  Only 1 team associated with your account, using Apple Team with ID: xxxxx
  We do not have some credentials for you: Apple Distribution Certificate, Apple Push Notifications service key, Apple Provisioning Profile
  ? How would you like to upload your credentials? Expo handles all credentials, y
  ou can still provide overrides
  ? Will you provide your own Apple Distribution Certificate? Let Expo handle the 
  process
  ✔ Didn't find any previously uploaded Apple Distribution Certificate
  ? Will you provide your own Apple Push Notifications service key? I want to uplo
  ad my own file
  Please provide your Apple Push Notifications service key:
  ? Path to P8 file: ~/Sites/certs/aps.cer
  ? Key ID: xxxxx
  ✔ App ID found on Apple Developer Portal.
  We're going to generate:
  - Apple Distribution Certificate
  - Apple Provisioning Profile
  ✔ Generated Apple Distribution Certificate
  ✔ Generated Apple Provisioning Profile
  Encrypted credentials and saved to the Expo servers
  Publishing to channel 'default'...
  Building iOS bundle
  Building Android bundle
  Analyzing assets
  Uploading assets
  No assets changed, skipped.
  Processing asset bundle patterns:
  - ~/Sites/Personal/xxxxx/**/*
  Uploading JavaScript bundles
  Published
  Your URL is
  
  https://exp.host/@xxxxx/xxxxx
  
  Checking if this build already exists...
  
  Build started, it may take a few minutes to complete.
  You can check the queue length at https://expo.io/turtle-status
  
  You can monitor the build at
  
   https://expo.io/builds/xxxxx
  
  Waiting for build to complete. You can press Ctrl+C to exit.
  ✔ Build finished.
  Successfully built standalone app: https://expo.io/artifacts/xxxxx
  </code></pre>
  
  <p>Here is my component:</p>
  
  <pre class="lang-js prettyprint-override"><code>  componentDidMount() {
      this.registerForPushNotifications();
    }
  
    componentWillUnmount() {
      if (!this.subscription) return;
      this.subscription.remove();
    }
  
    registerForPushNotifications = async () =&gt; {
      const PNToken = await this.props.MainStore.getLocal("PNToken");
      if (!PNToken) {
        try {
          const { status } = await Permissions.getAsync(
            Permissions.NOTIFICATIONS
          );
          let finalStatus = status;
          if (status !== "granted") {
            const { status } = await Permissions.askAsync(
              Permissions.NOTIFICATIONS
            );
            finalStatus = status;
            if (finalStatus !== "granted") {
              throw "Notification permission not granted";
            }
            const token = await Notifications.getExpoPushTokenAsync();
            this.props.MainStore.setPNToken(token);
            this.subscription = Notifications.addListener(
              this.handleNotification
            );
          }
        } catch (err) {
          console.warn("Permissions check error: ", err);
        }
      } else {
        this.props.MainStore.setPNToken(PNToken);
        this.subscription = Notifications.addListener(this.handleNotification);
      }
    };
  
    handleNotification = notification =&gt; {
      const store = this.props.NotificationStore;
      const sortedNotifications = sortMessages([
        ...store.state.notifications,
        { ...notification, read: false }
      ]);
      store.setState({
        notifications: sortedNotifications
      });
    };
  </code></pre>