4

Я работаю над приложением для интернет-трейдинга с его мобильными и iPhone-приложениями. С недавней тенденцией рынка мы работаем над включением двухфакторной аутентификации. Для этого мы будем отправлять единовременный пароль в виде sms на зарегистрированный мобильный номер пользователя.Как заполнить OTP из окна сообщения пользователя на приложение прямо в iPhone?

Есть ли способ, чтобы OTP автоматически загружался в приложение из окна сообщений пользователя в iPhone? Какой алгоритм я должен использовать, чтобы приложение читало окно сообщения пользователя?

Заранее спасибо :)

+0

Этот вопрос не содержит действительного и полезного ответа. – Yasha

+0

действительный и полезный с точки зрения чего? невозможно прочитать sms программно. Другой способ, которым вы можете с нетерпением ждать, предлагается @rckoenes –

+0

Возможные ответы на сайте предполагают взлом ios в первую очередь. Разрушение в тюрьме iPhone похоже на эскалацию привилегий, которую мой клиент может или не может сделать. я не могу попросить моего клиента обязательно отменить его телефон, чтобы мое приложение работало плавно. – Yasha

ответ

3

Вы можете получить доступ к СМС из своего приложения. Поэтому лучше заставьте пользователя ввести свой контактный номер и отправить СМС на его мобильный телефон

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
    if (!url) { 
     UIApplication * yourapplication =[UIApplication sharedApplication]; 
     NSString *outputpath [email protected]"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; 
} 
+0

LoadLog (бесплатное приложение). Я разработал это приложение, в котором общая информация будет отправляться только через SMS. Для этого приложения сервер не используется –

+0

Пользователь уже получает sms на своем мобильном телефоне, но я хочу, чтобы облегчить процесс для него.OTP должен автоматически заполняться, поскольку пользователь получает его как sms. – Yasha

+0

@ Яша - это то, что я сказал, что OTP будет отправлять только SMS (единственный и лучший способ для мобильных телефонов), и вы можете получить к ним доступ. вы ожидаете чего-то, кроме SMS? –

7

прямой ответ NO

Это невозможно читать SMS программно, как сейчас, как приложения в ИО являются sandboxed, что означает, что вы ничего не можете с телефона пользователя чтения за пределами вашей заявки.

7

Вы не можете получить доступ к почтовому ящику для пользователей, это будет настоящая проблема конфиденциальности.

Что вы можете сделать, это зарегистрировать собственную схему приложения, при этом ваше приложение может быть открыто. Вы можете сделать что-то вроде myApp://register/<OTP>, затем вы можете получить этот URL-адрес и взять OTP из URL-адреса и использовать его. Просто используйте URL-адрес в своем SMS, и iOS сделает все остальное.

Вы можете проанализировать URL-адрес приложения в - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation в своем делете приложения.

+0

Спасибо, но, как я узнал из другого комментария, inbox is sandboxed, это создаст проблему? – Yasha

+0

А также, работает ли это на телефонах Android? – Yasha

+0

Нет, это не вызовет проблем и да, вы можете использовать тот же URL-адрес приложения на Android. – rckoenes