所以,我参加了一个会议,我们讨论了NativeScript。以为它非常漂亮,我真的很喜欢它。我以前没有/没有进过移动设备。
然而,我发现了一个有趣的错误。我们开发了一个从SpaceX API中提取数据的应用程序。单个视图具有指向火箭发射的链接,您可以点击它们以在浏览器中打开它们。不幸的是,这在我的iPhone 5C上不起作用。演示者扫描了我的二维码,并且能够点击链接就好了。有人在看过/知道解决方法吗?以下是有问题的代码:
HTML:
<Label text="{{ 'Video: ' + launch.links.video_link }}" class="body m-l-20 m-r-20 m-t-20" textWrap="true" (tap)="onLinkTap(launch.links.video_link)">
</Label>
JS:
onLinkTap(link: string): void {
utils.openUrl(link);
}
答案 0 :(得分:0)
默认情况下,在iOS上,我们需要在CFBundleURLTypes
中设置info.plist
并提供applicationHnadleOpenUrl
委托方法。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.yourcompany.myapp</string>
</dict>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
委托方法的示例实现
function getParams(url){
console.log(url);
var resulturl:string = (<any>NSString)(url).toString();;
if(resulturl.substring(0,5)=="appgo"){
console.log(getParameterByName("test", resulturl));
}
}
class newIOSApplication extends NSObject implements UIApplicationDelegate{
static ObjCProtocols = [UIApplicationDelegate];
applicationHandleOpenURL(app, url): boolean {
getParams(url);
return true;
}
}
application.ios.delegate = newIOSApplication;
有关上述代码here的更多信息。 还有this community plugin来处理
的委托方法