React-native-apple-authentication: Sign Up Not Completed for reviewer

Created on 15 Jun 2020  路  14Comments  路  Source: invertase/react-native-apple-authentication

Hi guys,

First please take in count it is not the same case as issue #83 :-)
Apple's reviewer is saying Sign in does not works
attachment-11786310053490606996Screenshot-0614-062117

But on my side it works on many devices via TestFlight but not on Apple's reviewer phone so my point would be more to know if you already faced that with reviewers and if you have any idea on how I could solve that.
It looks like it is coming from Apple Sign In system and would like to reproduce it.
Do you have any idea on how to reproduce ?
And if anyone already faced this problem which is blocking he review ?

Thanks

Most helpful comment

It's working for me, app review passed as recently as last Monday (6 days ago)

All 14 comments

It's working for me, app review passed as recently as last Monday (6 days ago)

Hi @mikehardy thanks for your answer,
Could the problem be related to internet connection ?
On my first attempt apple team was coming back with screenshot like this
attachment-5587714687021205720Screenshot-0612-155741_copy (1)
I don't understand how they test but seems like they have connection problems...

I have no idea, sorry

I also faced same issue with react-native-firebase(https://github.com/invertase/react-native-firebase).
I try to find out what happen in review.
image

For your information, below is my part of package.json.

    "@invertase/react-native-apple-authentication": "^1.1.0",
    "@react-native-firebase/admob": "^7.1.4",
    "@react-native-firebase/analytics": "^7.1.4",
    "@react-native-firebase/app": "^7.2.1",
    "@react-native-firebase/auth": "^8.0.5",
    "@react-native-firebase/crashlytics": "^7.1.5",
    "@react-native-firebase/firestore": "^7.1.7",
    "@react-native-firebase/functions": "^7.1.4",
    "@react-native-firebase/messaging": "^7.1.5",

react-native-info

System:
    OS: macOS 10.15.5
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 684.93 MB / 16.00 GB
    Shell: 3.1.0 - /usr/local/bin/fish
  Binaries:
    Node: 10.15.3 - ~/.anyenv/envs/nodenv/versions/10.15.3/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.5 - ~/.anyenv/envs/nodenv/versions/10.15.3/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: Not Found
  SDKs:
    iOS SDK:
      Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK:
      API Levels: 23, 26, 27, 28
      Build Tools: 26.0.2, 27.0.3, 28.0.3
      System Images: android-26 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom_64
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.2 AI-181.5540.7.32.5014246
    Xcode: 11.5/11E608c - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_171 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^16.13.1 => 16.13.1 
    react-native: 0.62.2 => 0.62.2 
  npmGlobalPackages:
    *react-native*: Not Found

Screenshots don't really help sorry. Can you try building a release app and checking out logs etc.

@Ehesp
here is part of logs related RNAppleAuthentication.
Start with Build target RNAppleAuthentication of project Pods with configuration Release
(Sorry, I am not Swift Engineer so I cannot find out how to fix fro these logs.)
Build Target RNAppleAuthentication.txt

Build target RNAppleAuthentication of project Pods with configuration Release
....

What is the goal of that text file? It just looks like normal compilation to me. Is there some build error we are looking for? How could you have submitted an app if it did not build?

If the auth failed for the reviewer you need to add lots of logging to the app and hopefully they can give you the execution logs?

What is the goal of that text file? It just looks like normal compilation to me. Is there some build error we are looking for? How could you have submitted an app if it did not build?

Yes. these are normal compilation file logs.
These are not related this issue, sorry.

If the auth failed for the reviewer you need to add lots of logging to the app and hopefully they can give you the execution logs?

Now I try to log from reviewer action. I upload these later.

Below is my app code(I hope logging from Firebase Crashlytics).

import React from 'react';
import auth from '@react-native-firebase/auth';
import appleAuth, {
  AppleAuthRequestScope,
  AppleAuthRequestOperation,
  AppleAuthError,
  AppleButton } from '@invertase/react-native-apple-authentication';
import crashlytics from '@react-native-firebase/crashlytics';
import FirebaseEventTracker from '../../../lib/FirebaseEventTracker';

// from app
// import Colors from '../../constants/Colors';
// import styles from './styles';

async function onAppleButtonPress() {
  // Start the sign-in request
  const appleAuthRequestResponse = await appleAuth.performRequest({
    requestedOperation: AppleAuthRequestOperation.LOGIN,
    requestedScopes: [AppleAuthRequestScope.EMAIL],
  });

  // Ensure Apple returned a user identityToken
  if (!appleAuthRequestResponse.identityToken) {
    throw new Error({
      message: 'Apple Sign-In failed - no identify token returned',
      code: 'no identityToken'
    });
  }

  // Create a Firebase credential from the response
  const { identityToken, nonce } = appleAuthRequestResponse;
  const appleCredential = auth.AppleAuthProvider.credential(identityToken, nonce);

  // Sign the user in with the credential
  return auth().signInWithCredential(appleCredential);
}

export default function AppleLoginButton() {
  return (
    <AppleButton
      buttonStyle={AppleButton.Style.WHITE}
      buttonType={AppleButton.Type.SIGN_IN}
      style={{
        shadowColor: 'rgba(0,0,0, .4)',
        shadowOffset: { height: 1, width: 1 },
        shadowOpacity: 1,
        shadowRadius: 1,
        paddingTop: 14,
        paddingBottom: 14,
        height: 52,
        margin: 7,
        justifyContent: 'center',
        alignItems: 'center',
        fontWeight: 'bold',
        flexDirection: 'row',
      }}
      onPress={() => onAppleButtonPress().then(() => {
        FirebaseEventTracker.loginSuccess('apple');
      }).catch((error) => {
        if (error.code === AppleAuthError.CANCELED) {
          crashlytics().log('Apple sign-in cancelled');
        }
        FirebaseEventTracker.loginFailed('apple', error.code);
        crashlytics().recordError(error);
      })}
    />
  );
}

Hi guys,

Just to update you on my problem, I sent the same build 4 time and as suspected problem was on Apple's reviewer side besause the 4th time it passed without knowing why.
Will close this, hope it will helps if someone got this problem?

That is crazy. I have similar non-deterministic pass/fail with Apple review, but so far not because of sign-in! Pretty frustrating as a dev. Glad you're moving forward, good luck with your project

Yes really frustrating when Apple reviewers are not able to make working their own signing system..
Anyway hope you will solve your problems for review too!
Good luck @mikehardy

I think so too. Thank you for your help.
It is not related to this repository so I continue to solve this problem with Apple reviewer, thank you.

Am currently facing same issue in review. Works on all devices, all login flows (touch, password, face-id) but reviewer keeps rejecting my app. I cannot replicate the bug.

I would be so frustrated in your situation, I really understand. But without something reproducible here I'm not sure what we can do. I've seen cases of other types of rejections where phone logs could be had from the reviewer, perhaps if you worked with them and shipped a build with as much logging as possible we could get to the bottom of it? Or perhaps the reviewer just needs to use a VPN (I believe some of that work is offshored, maybe it's as simple as the reviewer having a constrained network)

Was this page helpful?
0 / 5 - 0 ratings