Cordova/Ionic回调到文件://在xcode中拒绝授予权限错误

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插件白名单,在所有键中使用通配符,但仍然不起作用 有人有什么线索吗?快把我逼疯

我有一个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 *">