Я предлагаю вам отправить переменную GET в строку URL-адреса в исходном приложении iOS и сохранить это значение для переменной сеанса на вашем веб-сервере. Затем с помощью переменной сеанса, чтобы сделать вещи разные для Mobile Safari и UIWebView
В вашем IOS App, когда вы запрашиваете ваш сайт добавить Получить Variable
IOS
NSString *urlQueryString = @"?BrowserType=iOSNative";
NSString *URLPath = [NSString stringWithFormat:@"http://www.yoursite.com/%@",urlQueryString ];
NSURL *requestURL = [NSURL URLWithString:URLPath];
NSURLRequest *request = [NSURLRequest requestWithURL:requestURL];
[self.webview loadRequest:request];
PHP
if(isset($_REQUEST['BrowserType']))
{
//Used for tracking is this is an iOS Native App user.
//This will not be set by the mobile browser user
$browserType = filter_var($_REQUEST['BrowserType'], FILTER_SANITIZE_STRING);
$_SESSION['BrowserType']=$browserType;
}
if ($_SESSION['BrowserType']=="iOSNative")
{
echo 'This is the native App and shouldn't display on the mobile page';
}
Я не знаю, что возможно с помощью JS, но строки пользовательских агентов можно манипулировать lated ... – HAS
http://stackoverflow.com/questions/2143763/does-uiwebview-send-the-same-user-agent-in-the-request-headers-as-mobile-safari – Emmanuel
спасибо, что это определенно полезно, Я бы хотел, чтобы что-то было немного более «официальным» в случае, когда слово «сафари» когда-либо появлялось в пользовательском агенте, но, я думаю, теперь это нужно будет сделать – korben