ios – Safari扩展上的App Transport Security

ios – Safari扩展上的App Transport Security,第1张

概述我的应用扩展程序需要从许多网站打开URL.我做如下: for (NSExtensionItem *item in self.extensionContext.inputItems) { for (NSItemProvider *itemProvider in item.attachments) { if ([itemProvider hasItemConformingT 我的应用扩展程序需要从许多网站打开URL.我做如下:
for (NSExtensionItem *item in self.extensionContext.inputItems) {    for (NSItemProvIDer *itemProvIDer in item.attachments) {        if ([itemProvIDer hasItemConformingToTypeIDentifIEr:(Nsstring *)kUTTypeURL]) {            [itemProvIDer loadItemForTypeIDentifIEr:(Nsstring *)kUTTypeURL options:nil completionHandler:^(NSURL *url,NSError *error) {                NSLog(@"URL: %@",url);

我可以获取URL,但此时我收到此错误:

App Transport Security has blocked a cleartext http (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.pList file.

我试图完全关闭ATS,

<key>NSAppTransportSecurity</key>    <dict>        <key>NSAllowsArbitraryLoads</key> <true/>    </dict>

但它不起作用,我无法在NSExceptionDomain中列出网站.我试过模拟器和设备.有人可以帮忙吗?

编辑

我认为导致问题的代码是这样的:

Nsstring* HTMLString = [Nsstring stringWithContentsOfURL: url enCoding:NSUTF8StringEnCoding]

我在url log之后使用这行代码将HTML作为纯文本.

解决方法 您是将NSAppTransportSecurity字典添加到应用程序扩展的Info.pList文件中,还是仅添加到父应用程序的Info.pList文件中?因为如果扩展正在发出请求,则异常需要在扩展的Info.pList文件中.

如果这没有帮助,请尝试直接使用NSURLConnection,看看它是否有任何区别.我怀疑它会,但它可能值得一试.

总结

以上是内存溢出为你收集整理的ios – Safari扩展上的App Transport Security全部内容,希望文章能够帮你解决ios – Safari扩展上的App Transport Security所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存