Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

rossy100

macrumors 6502
Original poster
Mar 23, 2011
440
195
Just wondering if anyone has any knowledge/views of whether apps which are currently TouchID enabled will automatically work with FaceID instead (this would seem most seamless approach) - or will all apps need to be updated to work??

Having TouchID/FaceID as interchangeable authentication methods would seem the most practical approach as both methods achieve same objective, and would make easier for developers who wouldn't have to code differently for different devices.
 
Apps should automatically adopt the method that the device supports. As a developer you don't specifically call a "Touch ID" method to authenticate but rather ask the system for biometric authentification. The system decides what to display. In the case of the iPhone X it would be Face ID.
 
I highly doubt that.
Apps would need to be updated and if they choose to support the new authentication method.
Apple cannot just automatically enable it on their end, the app needs to be coded for it if the dev would like to have that option available for their specific app.


Apps should automatically adopt the method that the device supports. As a developer you don't specifically call a "Touch ID" method to authenticate but rather ask the system for biometric authentification. The system decides what to display. In the case of the iPhone X it would be Face ID.
 
Last edited:
That is the $100,000 question. I'm assuming Face ID will not be interchangeable with Touch ID apps since the dev may not want to support Face ID out of the gate. For example banks will need to do their own security tests like they did with Touch ID. It's a shame because that is the one huge negative regarding the X with me.
 
  • Like
Reactions: Applejuiced
I highly doubt that.
Apps would need to be updated to support the new authentication method.
Apple cannot just automatically enable it on their end, the app needs to be coded for it.

or maybe they can. pretty sure the app only gets a feedback like:
authentication succeded: true / false
and everything else is handled by the OS.
 
I highly doubt that.
Apps would need to be updated to support the new authentication method.
Apple cannot just automatically enable it on their end, the app needs to be coded for it.

He's right, you don't have to manually add Face ID support, I am an iOS developer and I know. Biometrics work via the LocalAuthentication API and when you call the API via something like:

Code:
let myContext = LAContext()
let myLocalizedReasonString = <#String explaining why app needs authentication#>
 
var authError: NSError? = nil
if #available(iOS 8.0, OSX 10.12, *) {
    if myContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError) {
        myContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: myLocalizedReasonString) { (success, evaluateError) in
            if (success) {
                // User authenticated successfully, take appropriate action
            } else {
                // User did not authenticate successfully, look at error and take appropriate action
            }
        }
    } else {
        // Could not evaluate policy; look at authError and present an appropriate message to user
    }
} else {
    // Fallback on earlier versions
}

You don't specify whether you want to use Touch ID or Face ID, the OS automatically handles it. You just specify what authentication policy you would like to use, in this case it would be biometrics, and what kind of biometrics is used depends on whether the user has set-up Touch ID or Face ID. Now both iPhone 8 and iPhone X will only support one kind of biometric authentication - Touch ID on 8 and Face ID on X, so the OS will simply use Touch ID on 8 for biometric authentication, and Face ID on X for biometric authentication. There's no need for the developer to specifically add Face ID support. All apps will be automatically compatible, or at least I hope so. The most you might have to do is to target the latest SDK, recompile the app and re-submit, but that's very unlikely and all apps should just work fine without needing a recompile.
 
  • Like
Reactions: Geert76
Interesting but how do you know that no code will be needed to enable that new feature in appstore apps for iOS 11?
I really double it will be automatically there without the dev/company deciding if they want to include that login option and also having to do additional coding on the devs end.
We'll see down the road and I will reply here when ios 11 is officially out along with the new devices with Face ID;)
Willing to put a small bet on it too:D

He's right, you don't have to manually add Face ID support, I am an iOS developer and I know. Biometrics work via the LocalAuthentication API and when you call the API via something like:

Code:
let myContext = LAContext()
let myLocalizedReasonString = <#String explaining why app needs authentication#>
 
var authError: NSError? = nil
if #available(iOS 8.0, OSX 10.12, *) {
    if myContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError) {
        myContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: myLocalizedReasonString) { (success, evaluateError) in
            if (success) {
                // User authenticated successfully, take appropriate action
            } else {
                // User did not authenticate successfully, look at error and take appropriate action
            }
        }
    } else {
        // Could not evaluate policy; look at authError and present an appropriate message to user
    }
} else {
    // Fallback on earlier versions
}

You don't specify whether you want to use Touch ID or Face ID, the OS automatically handles it. You just specify what authentication policy you would like to use, in this case it would be biometrics, and what kind of biometrics is used depends on whether the user has set-up Touch ID or Face ID. Now both iPhone 8 and iPhone X will only support one kind of biometric authentication - Touch ID on 8 and Face ID on X, so the OS will simply use Touch ID on 8 for biometric authentication, and Face ID on X for biometric authentication. There's no need for the developer to specifically add Face ID support. All apps will be automatically compatible, or at least I hope so. The most you might have to do is to target the latest SDK, recompile the app and re-submit, but that's very unlikely and all apps should just work fine without needing a recompile.
 
Interesting but how do you know that no code will be needed to enable that new feature in appstore apps for iOS 11?
I really double it will be automatically there without the dev having to do additional coding on his end.
We'll see down the road and I will reply here when ios 11 is officially out along with the new devices with Face ID;)

Read the last paragraph again.
 
No, Apple cannot dictate how I log in to my banks app or my Healthcare app for example.
The company chooses if they want to enable touch ID access , or password only or Face ID to be included.

or maybe they can. pretty sure the app only gets a feedback like:
authentication succeded: true / false
and everything else is handled by the OS.
[doublepost=1505142048][/doublepost]You're willing to put some money on it? :D

Read the last paragraph again.
 
No, Apple cannot dictate how I log in to my banks app or my Healthcare app for example.
The company chooses if they want to enable touch ID access , or password only or Face ID to be included.


[doublepost=1505142048][/doublepost]You're willing to put some money on it? :D

The problem is the developer cannot choose to enable Touch ID and Face ID at the same time, because one is only included in 8 and the other only in X, there's no device with both. As I said before, you only choose whether you want to use biometrics or not, and the OS handles everything else, including what type of biometric to use. Even if Apple releases an iPhone with both Face ID and Touch ID, you still won't need to change anything because only one biometric authentication feature would be allowed to be enabled and not both (i.e you can't have both Face ID and Touch ID enabled at the same time - it makes no sense).

I don't want to put money on it for no reason, I am 100% confident thats how it will work, because I have worked with LocalAuthentication framework.
 
  • Like
Reactions: Applejuiced
I know its still early to tell for sure since nothing is official but lets say a Bank wants to allow Touch ID but not enable FaceID for customers to get into their bank accounts.
That means if they included biometrcis/touch ID before they have to allow FaceID automatically to be enabled without their consent and new device users to log in using that?
I dont know...

The problem is the developer cannot choose to enable Touch ID and Face ID at the same time, because one is only included in 8 and the other only in X, there's no device with both. As I said before, you only choose whether you want to use biometrics or not, and the OS handles everything else, including what type of biometric to use. Even if Apple releases an iPhone with both Face ID and Touch ID, you still won't need to change anything because only one biometric authentication feature would be allowed to be enabled and not both (i.e you can't have both Face ID and Touch ID enabled at the same time - it makes no sense).

I don't want to put money on it for no reason, I am 100% confident thats how it will work, because I have worked with LocalAuthentication framework.
 
I know its still early to tell for sure since nothing is official but lets say a Bank wants to allow Touch ID but not enable FaceID for customers to get into their bank accounts.
That means if they included biometrcis/touch ID before they have to allow FaceID automatically to be enabled without their consent and new device users to log in using that?
I dont know...

Did you read the previous posts?... You cannot choose whether you want to use Touch ID or Face ID. You only choose biometrics, and the OS automatically uses the one available on the device. You cannot chose to enable one or the other and disable the other. You tell the OS that you want to use biometric authentication, and it uses whatever biometric authentication feature that is available on the device. That's how the LocalAuthentication API works.

If the iPhone 9 comes with Touch ID and Face ID both, then maybe you might see an option like that, mot likely you won't.
 
Anybody else see the new watch with the red button? Thats where your Touch ID is for the new iPhone lol
 
Glad to have started some friendly debate!

Thinking further though, from a marketing POV it makes sense for FaceID to just work where Touch ID did before. Apple will tell everyone it is at least as secure (if not more than Touch ID) - so why would devs/app providers have any issue? And Apple wouldn't want to highlight their concerns by letting them choose to disable it.

So I expect it will just work with all existing apps, and the only way an app could disable would be to disable all biometric authentication period. So basically Apple will back devs into a corner where they either just allow Face ID to be used, or risk upsetting the app users by disabling bio auth entirely.
 
So you're saying the particular company or software dev will have no option and they'll have to use face ID even if they dont want to without any coding or updates needed to their software.
we'll see...

Did you read the previous posts?... You cannot choose whether you want to use Touch ID or Face ID. You only choose biometrics, and the OS automatically uses the one available on the device. You cannot chose to enable one or the other and disable the other. You tell the OS that you want to use biometric authentication, and it uses whatever biometric authentication feature that is available on the device. That's how the LocalAuthentication API works.

If the iPhone 9 comes with Touch ID and Face ID both, then maybe you might see an option like that, mot likely you won't.
 
Well i'm sure they could implement some kind of check, like:
if iphone X, then don't use biometric check ;)
 
So you're saying the particular company or software dev will have no option and they'll have to use face ID even if they dont want to without any coding or updates needed to their software.
we'll see...

Yes, they will have to use Face ID because there is no Touch ID on the iPhone X. How hard is it for you to understand this? If they want to use biometrics authentication, their only choice will be Face ID on iPhone X and Touch ID on iPhone 8. Apps that use biometric authentication rely on Touch ID because thats the only option available, after Face ID will come, there will be two options, but there won't be a device that has both the options. If they don't want to use Face ID on the X they can stop using biometric authentication and use passcode instead.
 
  • Like
Reactions: profets
You can claim whatever you want, what you're suggesting does not make any sense.


Yes, they will have to use Face ID because there is no Touch ID on the iPhone X. How hard is it for you to understand this? If they want to use biometrics authentication, their only choice will be Face ID on iPhone X and Touch ID on iPhone 8. Apps that use biometric authentication rely on Touch ID because thats the only option available, after Face ID will come, there will be two options, but there won't be a device that has both the options. If they don't want to use Face ID on the X they can stop using biometric authentication and use passcode instead.
 
Thus what the app update would be needed I was thinking.
Things like that are not decided and implemented by Apple, they are decided by the particular software dev/company.
The app developer could likely include a check like that to shut off biometric identification on the iPhone X, but users would have to update the app to get that check in there. As it is current apps that work with touchID should work the same with FaceID.
 
  • Like
Reactions: Applejuiced
Are you sure?
You saw an AppStore app having face id enabled without needing an update?

Did you see the keynote? Apple said and demonstrated on stage that existing apps that use Touch ID will work without needing an update to support Face ID, apps will automatically start using Face ID instead of Touch ID on iPhone X.

Exactly what I said before. You were just arguing because you're not a developer with experience using the biometric APIs. I already knew how it works and was right about apps not needing an update.
 
The app just asks for biometrics!! The iOS provides what it has: Face ID in X, Touch ID in 7/8.
 
  • Like
Reactions: ssrij
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.