Search Unity

  1. The 2022.1 beta is now available for testing. To find out what's new, have a look at our 2022.1 beta blog post.
    Dismiss Notice
  2. Read here for Unity's latest plans on OpenXR.
    Dismiss Notice

Submitting ARKit apps to AppStore without Face Tracking

Discussion in 'AR' started by jimmya, Nov 15, 2017.

Thread Status:
Not open for further replies.
  1. josselinco

    josselinco

    Joined:
    May 21, 2018
    Posts:
    4
    We’re removing ARCore from the app here...

    By the way, does anybody know anyway to virtually test an AR app for different iPhones, since the Simulator doesn’t work with AR ?
     
  2. BinaryBanana

    BinaryBanana

    Joined:
    Mar 17, 2014
    Posts:
    79
    Our app submission failed today on incorrect camera usage message and there is nothing related to True Depth API, which confirms that removing AR Core was a good fix! :)

    --
    Smart AR Home - A gateway into augmented reality in your home
    http://smartarhome.com
     
    josselinco likes this.
  3. josselinco

    josselinco

    Joined:
    May 21, 2018
    Posts:
    4
    That's great man !
    What message did you have before for camera though?

    Do you mind telling us, when you do a search in your Xcode project, how many results do you get when typing "ARFace" ?
    I'm worried since we have removed ARCore but still got 2200 results !
     
  4. BinaryBanana

    BinaryBanana

    Joined:
    Mar 17, 2014
    Posts:
    79
    I focused on removing "ARFaceAnchor" and not in XCode but in Unity/VS code. I got 0 results eventually, just make sure you search by folder to include native ".mm" files.

    I think now that we know AR Core was reason, unchecking face tracking in AR Kit plugin and removing AR Core from the solution should be enough. Unless you really want to make sure your app goes through the process ASAP :)

    For camera I had some generic message like "camera is required" so it was definitely violation for Apple. I set it long time ago and forgot to update.

    --
    Smart AR Home - A gateway into augmented reality in your home
    http://smartarhome.com
     
  5. BinaryBanana

    BinaryBanana

    Joined:
    Mar 17, 2014
    Posts:
    79
    The app passed the submission and it's now available in iOS store (link <- if anyone is interested in Smart Home automation with AR). That concludes the investigation.

    AR Core owners replied today that they have a fix and it will be part of the next release.

    --
    Smart AR Home - A gateway into augmented reality in your home
    http://smartarhome.com
     
    Crashthatch, jimmya and josselinco like this.
  6. zyonneo

    zyonneo

    Joined:
    Apr 13, 2018
    Posts:
    381
    It is still available only on Iphone 10?I tested Unity tongue and eyes on Ipad pro 2017 model.But it did not work.I turned on the face tracking settings.A black screen appears.Can it be used in old devices supporting AR?
     
  7. todds_unity

    todds_unity

    Unity Technologies

    Joined:
    Aug 1, 2018
    Posts:
    192
    JoeProgram and zyonneo like this.
  8. dgifgghh

    dgifgghh

    Joined:
    Oct 29, 2018
    Posts:
    2
    Hi, everybody. Using the version of Unity 2018.2.18. Version of Arkit plugin 2.0.0. I have already 3 times received a rejection from Apple due to the use of TrueDepth API. I updated The Arkit plugin to the latest version, but it didn't help. "ARKit Uses Facetracking"is not selected in Unity's ARKit settings. On the advice of the user BinaryBanana I commented out all the lines with "ARFaceAnchor" in C# but it did not help. Please help to pass the test in the AppStore.
     
    alphadogware likes this.
  9. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    Lots of people have submitted apps using the mechanism above. Are you doing anything out of the ordinary? Do you have a iPhone X or newer to test with? You should be able to turn off the face tracking checkbox and you should get a message in the XCode console when you run the FaceTracking example that you're trying to use FaceTracking without selecting the checkbox.
     
  10. will_pengram

    will_pengram

    Joined:
    Dec 3, 2018
    Posts:
    3
    Hi Jim,

    I have exact same issue as #58. I do not have face tracking checkbox enabled. When I run the FaceTracking example, on XCode I see the message (I tested on iPad since I do not have iPhone X or newer):
    "
    Uncaught exception: UnityARKitPluginFaceTrackingNotEnabled: UnityARKitPlugin: Checking FaceTracking device support without enabling it in settings.
    "
    However, my app has also been rejected twice from Apple for the same reason. Other than regular ARKit SLAM I only used Image Recognition
     
  11. woliu8561

    woliu8561

    Joined:
    Dec 19, 2018
    Posts:
    3
    I have this problem too.I didn't select "ARKit Uses Facetracking",and I still can‘t pass the APP store review.
     
  12. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    Turns out that one of the changes I introduced FaceTrackingConfiguration outside the ifdefs.
    I have a PR for a fix - use the corresponding branch and it should fix it.
    Get https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/get/fix-truedepth-submission-reject.zip . - you only need "
    Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm" if you already have the latest of everything.
     
    Last edited: Dec 19, 2018
  13. woliu8561

    woliu8561

    Joined:
    Dec 19, 2018
    Posts:
    3
    what should I do?Just copy ARSessionNative.mm to my project assets?Or can I delete all the arkit plugins before,and use the arkit plugin you give?
     
  14. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    Actually now if you get the latest version of the plugin it should work, because that branch has been merged back to default.
     
  15. woliu8561

    woliu8561

    Joined:
    Dec 19, 2018
    Posts:
    3
    OK,I'll try the latest version first,thank you!
     
  16. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    I downloaded the latest version of ARKit this morning, made sure the face tracking was not checked and the @#$@#$@s at apple are still rejecting it. What is the current fix to please these guys? Can you tell I've had enough of the app store?

    Here is their reply:


    This app continues to contain references to ARFaceTrackingConfiguration. It would be appropriate to remove all unused ARKit2 selectors from this app before resubmission for review.

    Guideline 2.5.1 - Performance - Software Requirements


    During review, we found that your app includes TrueDepth APIs. However, we were not able to locate any features in your app that use TrueDepth APIs.

    Next Steps

    If your app does not include any features that use TrueDepth APIs, please remove them from your app.

    As your app uses the Unity ARKit plugin, it would be appropriate to update to the latest version, which includes a setting that allows you to exclude TrueDepth APIs.

    If your app does include features that use TrueDepth APIs, please reply to this message in Resolution Center to provide information on how to locate them.
     
  17. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    Can you build your app with debug symbols and send me the dSYM file from it?
     
  18. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    sure. I'll work on that now. Thanks!
     
  19. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    Most of the info I am finding on doing this is from like 2011. Is there an updated way to do this? Is it done just in xcode or in unity?
     
  20. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    I downloaded the latest version of ARKit this morning. I just copied it into the Asset folder and told it to merge (on mac), was there a different way to update ARKit?
     
  21. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    I found these lines in UnityARSessionNativeInterface.cs

    #if UNITY_EDITOR || !UNITY_IOS
    private bool IsARKitFaceTrackingConfigurationSupported()
    {
    return true;
    }
    #else



    Can I just change that value to false?
     
  22. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    cam415 likes this.
  23. will_pengram

    will_pengram

    Joined:
    Dec 3, 2018
    Posts:
    3
    jimmya likes this.
  24. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    Excellent - thanks!
     
  25. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    How can I reinstall ARKit? Just copy the new files?
     
  26. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
  27. will_pengram

    will_pengram

    Joined:
    Dec 3, 2018
    Posts:
    3
    Yes I removed the Plugins/iOS folder and replace it with folder in Jimmy's newest push
     
    cam415 and alphadogware like this.
  28. Bitfabrikken

    Bitfabrikken

    Joined:
    Mar 24, 2013
    Posts:
    34
    Just got an app rejected due to TrueDepth which I'm not using in any way.
    So I guess the fixes discussed in this thread arent't yet live in the package manager version of ARKit.
    Any ideas on when that happens? I'm sure I'm not the only one who had their apps rejected due to this.

    The app was submitted with ARKit XR Plugin 1.0.0-preview.20, ARCore 1.0.0-preview.24 and AR Foundation 1.0.0-preview.22. The settings asset had "Uses face tracking" unchecked.

    I've now removed ARKit from the package manager and added the files from the zip mentioned above and resubmitted - will report back when/if it gets approved.
     
    fherbst likes this.
  29. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    These are not the same thing - please have a look at the charts at the bottom of https://blogs.unity3d.com/2018/12/18/unitys-handheld-ar-ecosystem-ar-foundation-arcore-and-arkit/ for the differences
     
  30. alphadogware

    alphadogware

    Joined:
    Nov 15, 2017
    Posts:
    73
    Thought that I had updated my status on this, but I finally got my app ok'ed by apple! I had to delete the arkit folder and copy the new one. Also I had to make sure I had my permissions defined in my info.plist.

    Thanks for all your help guys!
     
    jimmya likes this.
  31. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    780
    @jimmya Is the codebase shared between the Unity ARKit Plugin and the ARKit XR Plugin from Package Manager? We're using the XR Package and the app gets rejected with the same reasoning (still using TrueDepth APIs despite having the checkbox unchecked).
    I opened a separate Thread about that (https://forum.unity.com/threads/sub...pps-to-appstore-without-face-tracking.606826/), but would still like to know whether the code is shared internally.
     
    Last edited: Jan 3, 2019
  32. jimmya

    jimmya

    Unity Technologies

    Joined:
    Nov 15, 2016
    Posts:
    793
    No the code is very different. Turns out my introduction of the facetracking feature into ARFoundation causes this problem - apologies to all. XR team is working on a fix which should be out shortly. If you are in a hurry to submit, you may want to use an older version of ARKit XR Plugin like "1.0.0-preview.17"
     
  33. MarioRuiz

    MarioRuiz

    Joined:
    Nov 7, 2009
    Posts:
    161
    Hi, @jimmya fast forward to may 2019, which would be the best way to use unity remote with face tracking in arkit? and with which version of unity? Thanks in advance, dunno if the question fits the thread completely...
     
  34. FutureWang

    FutureWang

    Joined:
    May 24, 2018
    Posts:
    21
    I am try the face tracking in arkit2.0 (client and server),and i finished all the steps,get the right result without the tongue ,the animation tongue out useless ,I think the tongue is not been catch. I check the blend shape name and the version of arkit, and the overrides in Blend Shapes Controller is 52 too. Everything is works well with out the tongue,Did i miss something? Sorry to trouble you !
     
    Last edited: May 23, 2019
  35. mubeenfa

    mubeenfa

    Joined:
    Dec 14, 2016
    Posts:
    6
    Hi @jimmya
    My app got rejected by apple number of times, I've followed your guidelines but I don't know how face to remove Face Tracking api from my app.

    I am using:
    Unity 2019.2.11
    AR Foundation 3.1.0 preview 4
    AR Subsystem 3.1.0 preview 4
    ARKit XR Plugin 3.1.0 preview 4

    So far This is what I've done:
    • ARKit Setting only has 2 options (Required and Optional) and I've tried both options. Right now "Required" is selected.
    • I even tried to build for iOS (Unity Player Setting > Strip Engine Code Checked)
    • I have removed "ARKit Face Tracking" Package from Package Manager but "AR Foundation" Package includes Face Tracking and "ARKit XR Plugin" includes Face Tracking.
    • I tried removing files from Packages, but ended up getting errors in consoleLog.
    what else do I need to do, I need to resolve this issue asap.

    Any help would be appreciated. Thank you.
     
    Last edited: Mar 2, 2020
  36. GeorgeMincila

    GeorgeMincila

    Joined:
    Feb 28, 2016
    Posts:
    17
    Hi,

    My app update also got rejected with the same reason from Apple:

    Guideline 2.5.1 - Performance - Software Requirements

    During review, we found that your app includes TrueDepth APIs. However, we were not able to locate any features in your app that use TrueDepth APIs.

    I was using ARKit plugin 2.0.1 and ARFoundation 2.0.2. I now updated to ARFoundation 3.0.1 and ARKit Plugin 3.0.1
    I find no way to deactivate the Face tracking APIs.
    ARKitSettings has only a <Requirement> option. Nothing specifically about Face Tracking.
    Regarding the BitBucket link found in this thread, I do not have that file in my project.

    I also have ARKit Face Tracking 3.0.1 installed in Unity. If I remove it I get errors: ARKitFaceSubsystems and ARKitBlendShapeLocation not found.

    Any idea on how I could get the app published to Apple?

    Thank you.
    ________________
    Later Edit - Fix (for my case)

    I removed the ARKit Face Tracking package and also deleted ARKitBlendShapeVisualizer.cs file that was causing errors
    After this I could create a new build for iOS that I do notice in xCode, does not have the Face tracking libraries included.
    *I am just now resubmitting to Apple.
     
    Last edited: Mar 11, 2020
  37. mubeenfa

    mubeenfa

    Joined:
    Dec 14, 2016
    Posts:
    6
    Hi @GeorgeMincila ,

    I suggest, you should talk to Apple and tell them about the steps you've done so far. And ask them, if there's any way of removing FaceTracking API from Unity or Xcode.

    Because I did the same, and later that day they published my App. This is what I wrote to Apple:
     
  38. Nullzero

    Nullzero

    Joined:
    Apr 24, 2013
    Posts:
    11
    Running into this problem as well.

    Getting rejected from Apple Review. Using ARFoundation 3.0.0-preview 6.

    Need a way to disable TrueDepth API.

    Thanks
     
  39. tangyinglin0228

    tangyinglin0228

    Joined:
    Apr 23, 2018
    Posts:
    16
    UnityARBuildPostprocessor.OnPostprocessBuildIOS (System.String pathToBuiltProject) (at Assets/Unity-Technologies-unity-arkit-plugin/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs:308)
    UnityARBuildPostprocessor.OnPostprocessBuild (UnityEditor.BuildTarget target, System.String pathToBuiltProject) (at Assets/Unity-Technologies-unity-arkit-plugin/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs:25)

    I followed the instruction in the previous posts but when I drag and drop Jimmy's plugin into my project. The project just can't build in 2019.3.1f1, my ARkit is 3.0.4
    For some reason, my package folder in the Editor has become empty so I don't know where to find those packages if needed.
    How do I fix this please?


    Update an hour later:
    Ok, I commented the 308 if Unity_IOS out and it built. Hope that Apple would accept this one.
    I was wondering if there's a easier way to remove all those facetracking calls nowadays.


    Update the next day:
    Thank you for all of your inputs. My App has been approved by Apple. And the only concern for me is that I don't know if I am using the latest ARkit or and older version.
     
    Last edited: Apr 15, 2020
  40. shashkes

    shashkes

    Joined:
    Mar 16, 2017
    Posts:
    19
    We have removed "ARKit Face Tracking" but apple insists:

    "At this time, we continue to find your app is accessing TrueDepth api in your app’s binary. Please note that app’s on the App Store are responsible for all content in their app’s binary, including content from third-party libraries."
    Any other suggestions?
     
  41. dimitris_baud

    dimitris_baud

    Joined:
    Jan 15, 2018
    Posts:
    29
    Same here, just got rejected today using Unity 2019.3.5 and AR Foundation 4 preview 3 (latest).

    @jimmya is this a known issue - is there a solution?

    Obviously it's a major blocker as we've based our work on this and we can't just swap to AR Foundation 2 versions older.
     
  42. applicattura

    applicattura

    Joined:
    Mar 28, 2017
    Posts:
    15
    I have the same problem, anyone managed to resolve it?
     
  43. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    7,273
    same here 2019.4.12f1 + ar foundation 2.1.8.

    now testing resubmit after removing facekit from package manager,
    and deleted 2 files from project:
    ARCoreFaceRegionManager.cs, ARKitBlendShapeVisualizer.cs..
     
  44. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    306
    Hi everyone, please see the more recent discussion on this topic here. Given this thread is now outdated, let's move the conversation to that post.

    In summary, make sure you remove anything that uses TrueDepth features. This may include the ARKit Face Tracking package and any samples in your project that use TrueDepth.
     
Thread Status:
Not open for further replies.
unityunity