6

我已经在我的项目中成功实施了“应用内购买”,现在我正在尝试实施“触摸 ID”来购买产品,除了询问“登录 iTunes”弹出窗口。在我的代码中,它一个接一个地询问“touch id”和“登录到 iTunes”,为什么这两个东西都连接了我只想要“touch id”来购买产品。我已经使用 IAP你如何将应用内购买添加到 iOS 应用程序?和触控 ID如何为我的 IAP 集成触控 ID?但没有获得为 IAP 实现触摸 id 的正确方法。这是我添加的代码,在此处输入图像描述

这是通过代码实现的,还是在从应用商店购买产品时显示苹果。检查上面的快照,

#import <LocalAuthentication/LocalAuthentication.h>

-(void) localAunthentication  
{
    //LocalAuthentication
    LAContext *authContext = [[LAContext alloc] init];
    NSError *authError = nil;
    NSString *authLocalizedReasonString = @"Please aunthenticate to proceed";

    if ([authContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError])
    {
        [authContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
                    localizedReason:authLocalizedReasonString
                              reply:^(BOOL success, NSError *error)
         {
             if (success)
             {
                 // Allocated here for succinctness.
                 NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];


                 [operationQueue addOperationWithBlock: ^
                  {


                  }];
             }
             else
             {
                 switch (error.code)
                 {
                     case LAErrorAuthenticationFailed:
                         //Authentication Failed
                         break;

                     case LAErrorUserCancel:



                         break;

                     case LAErrorUserFallback:


                         break;

                     default:
                         //Touch ID is not configured
                         break;
                 }
                 NSLog(@"%@",error.localizedDescription);

             }
         }];
    }
    else
    {
    }
}

我应该怎么做才能只询问“Touch Id”而不是“登录到 iTunes”弹出窗口。

4

1 回答 1

12

iTunes Store 控制它呈现的身份验证类型,而不是您的应用程序。如有必要,将显示警报,否则将显示 TouchID/FaceID 覆盖。

您从未看到 TouchID/FaceID 覆盖的原因是,在开发过程中,您的应用程序使用的不是真正的 iTunes Store,而是沙盒。沙盒环境 AFAIK 始终显示警报。

于 2018-03-15T17:30:19.100 回答