1) Utwórz niestandardowy schemat URL w swojej aplikacji. Kliknij link, jeśli nie wiesz, jak utworzyć niestandardowy schemat URL: http://www.idev101.com/code/Objective-C/custom_url_schemes.html
2) Następnie dodaj następujący skrypt do adresów URL, które chcesz otworzyć.
<script language="javascript" type="text/javascript">
var iOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false);
var appUrlScheme = "myappscheme://" + document.URL;
if (iOS) {
window.open(appUrlScheme, "_self");
}
</script>
Skrypt jest oczywista, jeśli jego urządzenie iOS to po prostu próbuje otworzyć aktualny adres URL z niestandardowego schematu URL tj myappscheme://whateverurl.com'. If you app is installed on the device then iOS is going to launch your app and pass this URL to
handleOpenURL function, otherwise mobile safari will silently ignore
okiennej.open` zadzwonić i Twoja strona będzie ładować normalnie:
3) Wdrożenie metody handleOpenURL
oddzwonienia w AppDelegate obsłużyć URL:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
NSLog(@"url: %@", url);
NSLog(@"query string: %@", [url query]);
NSLog(@"host: %@", [url host]);
NSLog(@"url path: %@", [url path]);
//REDIRECT USER TO A VIEW CONTROLLER
return YES;
}
Nie, nie jest to możliwe bez jailbreaking. Możesz jednak przekonać witrynę do przekierowania do niestandardowego adresu URL schematu, ale ... –
Spróbuj tego: A. Upewnij się, że aplikacja obsługuje rozszerzenie html. B. Wyślij e-mail z linkiem do pliku html (plik startowy lub plik przekierowania itp.) – user523234
@SimonM Myślę, że twoje jest jedynym rozwiązaniem. Aby użyć normalnego linku (http://something.com/product/3/) iw tej sieci spróbuj otworzyć wyskakujące okienko z myscheme url: //something.com/product/3/, które otworzy aplikację, jeśli jest zainstalowane lub wyświetlać coś (prawdopodobnie pokaże wyszukiwanie google, ponieważ nie rozumie myscheme jako adresu URL). – jobima