App Transport Security has blocked a cleartext HTTP


Xcode 7--Xcode 8经常新建一个工程用到 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” 

新特性要求App内访问网络请求,要采用 HTTPS 协议。 

由于获取的网络地址都是HTTP协议,最终找到以下两种解决办法: 

a.在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ; 
在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;

b.单击Info.plist-->open as-->Sourse Code -->添加以下一段代码即可:


<key>NSAppTransportSecurity</key>

    <dict>

        <key>NSAllowsArbitraryLoads</key>

        <true/>

    </dict>


### 解决Ubuntu因安全策略被阻止的问题 当遇到Ubuntu由于安全策略而受到限制的情况时,可以采取多种方法来解决问题。通常这类问题涉及AppArmor或SELinux等强制访问控制系统。 #### 修改AppArmor配置 如果问题是由AppArmor引起的,则可以通过调整其配置文件来放宽特定应用程序的安全约束。编辑位于`/etc/apparmor.d/`下的相应配置文件[^1]: ```bash sudo nano /etc/apparmor.d/usr.bin.firefox ``` 对于不需要严格保护的应用程序,可以选择禁用它们的AppArmor配置: ```bash sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox ``` #### 调整UFW防火墙设置 有时,默认启用的Uncomplicated Firewall (UFW)可能会阻挡必要的网络连接。检查并适当开放端口可以帮助解决此类问题: ```bash sudo ufw status verbose sudo ufw allow <port_number>/tcp ``` #### 更新内核参数 某些情况下,通过修改内核参数也可以绕过一些默认的安全限制。例如,在GRUB引导菜单中添加kernel选项`apparmor=0`可临时关闭AppArmor[^2]: 编辑 `/etc/default/grub` 文件中的 `GRUB_CMDLINE_LINUX_DEFAULT` 行加入上述参数后保存退出,并执行命令更新grub配置以及重启计算机生效更改: ```bash sudo update-grub reboot now ``` #### 处理具体应用权限不足情况 针对个别应用程序启动失败的情形,可能是缺少足够的权限或是与其他服务冲突所致。此时应查看日志信息以获取更详细的错误描述,从而针对性地处理。常用的日志位置有`/var/log/syslog`, `/var/log/kern.log` 或者使用journalctl工具查询最新记录[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值