6

我正在开发一个提供移动和 iPhone 应用程序的互联网交易应用程序。随着最近的市场趋势,我们正在努力包括两因素身份验证。为此,我们将在用户注册的手机号码上以短信形式发送一次性密码。

有没有办法,OTP 可以从 iPhone 中的用户消息框自动填充到应用程序中?我应该使用什么算法让我的应用程序读取用户的消息框?

提前致谢:)

4

3 回答 3

8

直截了当的回答NO

到目前为止,还不能像 iOS 中的应用程序那样以编程方式读取 SMS sandboxed,这意味着您无法在应用程序之外从用户手机中读取任何内容。

于 2014-01-03T10:49:40.823 回答
8

您无法访问用户的短信收件箱,这将是一个真正的隐私问题。

您可以做的是注册您自己的应用程序架构,您的应用程序可以打开。您可以执行类似的操作myApp://register/<OTP>,然后您可以获取此 URL 并从 URL 中获取 OTP 并使用它。只需在您的 SMS 中使用 URL,其余的一切由 iOS 完成。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation您可以在应用程序委托中解析应用程序 URL 。

于 2014-01-03T10:50:08.157 回答
3

您可以从您的应用程序访问短信。所以最好让用户输入他的联系号码并将短信发送到他的手机

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if (!url) {
        UIApplication * yourapplication =[UIApplication sharedApplication];
        NSString *outputpath =@"appname://data/";
        NSURL *url =[NSURL URLWithString:outputpath];
        [yourapplication openURL:url];
        return NO;
    }

    NSUserDefaults *defaultString =[NSUserDefaults standardUserDefaults];
    NSString * commonString =[url absoluteString];
    if (commonString.length<=15) {
        //
    }
    else
    {
        [defaultString setObject:commonString forKey:@"urlString"];
    }
         //send info to the screen you need and can navigate
    return YES;
}
于 2014-01-03T10:55:53.180 回答