ios10에서는 webview 안에서
plist의 LSApplicationQueriesSchemes에 등록하지 않은 urlscheme으로 열려고 할때 아무 반응없이 열리지 않도록 변경되었습니다. titanium문제는 아니고 ios10자체가 그렇습니다. 이거 관련해서는 딱히 문서에 언급되거나 하지 않았은 것 같아요.
따라서 따로 beforeload
이베트를 받아서 해당 url을 Ti.Platform.openURL
을 통해 열어야 합니다. (LSApplicationQueriesSchemes에 등록하지 않을 경우 Ti.Platform.canOpenURL
로 해당 urlshcem이 깔려있는지 파악할 순없지만 openURL
을 통해 열수 있습니다.)
Ti 5.5.1 기준 iphone/Classes/TiUIWebView.m
파일의 750번째 줄을 다음과 같이 if 주건문을 바꾸면 됩니다.
// if ([uiApp canOpenURL:newUrl] && !willHandleUrl)
if (!willHandleUrl)
{
[uiApp openURL:newUrl];
return NO;
}
무엇보다도 pg사를 통한 결제에서 다양한 카드사 앱을 실행하고 설치해야하는 과정에서 문제가 됩니다.
이런 저런(?) 이유로 저는 그냥 sdk를 수정해서 해결 했습니다.