Cordova/Ionic回调到文件://在xcode中拒绝授予权限错误
我有一个Ionic应用程序,它使用ng_token_auth和Desive_token_auth使用facebook通过我的rails api进行身份验证 当使用ionic serve执行项目时,项目运行良好,但是当尝试模拟或从xcode运行时,回调失败,出现“权限被拒绝”错误 我已经将这一点缩小到这样一个事实,即ios中的回调uri本质上是file://而不是web地址 我如何消除这种权限冲突?我尝试过cordova插件白名单,在所有键中使用通配符,但仍然不起作用 有人有什么线索吗?快把我逼疯了 编辑:我的索引文件中有:Cordova/Ionic回调到文件://在xcode中拒绝授予权限错误,cordova,ionic-framework,callback,rails-api,Cordova,Ionic Framework,Callback,Rails Api,我有一个Ionic应用程序,它使用ng_token_auth和Desive_token_auth使用facebook通过我的rails api进行身份验证 当使用ionic serve执行项目时,项目运行良好,但是当尝试模拟或从xcode运行时,回调失败,出现“权限被拒绝”错误 我已经将这一点缩小到这样一个事实,即ios中的回调uri本质上是file://而不是web地址 我如何消除这种权限冲突?我尝试过cordova插件白名单,在所有键中使用通配符,但仍然不起作用 有人有什么线索吗?快把我逼疯
<meta http-equiv="Content-Security-Policy" content="default-src 'self' file: 'unsafe-inline' data: gap: https://ssl.gstatic.com https://cdn.pubnub.com https://pubnub.github.io https://maps.googleapis.com https://js.maxmind.com https://csi.gstatic.com https://ssl.gstatic.com * 'unsafe-eval'; style-src 'self' file: 'unsafe-inline'; media-src *">
然后,Xcode中的错误为:
webView:didFailLoadWithError - -1102: You do not have permission to access the requested resource.
干杯您需要向index.html
添加一个元标记,该标记允许文件://
协议
自iOS 10以来,UIWebView(Cordova在iOS上使用的默认Webview)尊重CSP标记,并比Android更严格地执行CSP标记
您还需要添加gap://
协议,否则将不会触发devicerady
事件
请尝试类似以下内容的CSP:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' file: data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
谢谢@DaveAlden,但仍然不起作用。我现在有以下内容,但仍然得到相同的权限错误:哈,刚刚注意到我遗漏了示例CSP中的文件:
协议,这是您实际需要的!对不起!我刚刚编辑了我的答案以添加它-请尝试在'self'
之后将文件:
添加到您的默认规则中,再次感谢@DaveAlden,但仍然不起作用,我已经用更多信息和上面的代码片段编辑了我的原始问题。还有什么线索吗?
webView:didFailLoadWithError - -1102: You do not have permission to access the requested resource.
<meta http-equiv="Content-Security-Policy" content="default-src 'self' file: data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">