Apple宣布推出适用于iOS 9和OSX 10.11 El Capitan的"App Transport Security".在" 什么在iOS中的新 "指南适用于iOS 9解释说:
应用程序传输安全性(ATS)允许应用程序向其Info.plist文件添加声明,该文件指定需要与其进行安全通信的域.ATS可防止意外泄露,提供安全的默认行为,并且易于采用.无论您是创建新应用程序还是更新现有应用程序,都应尽快采用ATS.
如果我们要删除或禁用ATS意味着我们只想使用HTTP,那么我们在.plist文件中输入如下:
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
如果我们的域名是HTTPS,我们正在进行.plist文件输入,如:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourserver.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
问题是:
如果我的应用程序正在处理像HTTP这样的Web服务.我想使用HTTPS域,如谷歌地图或Facebook登录等.或者像一个网络服务的任何东西用于HTTPS域.
那么我们如何将.plist文件中的内容组合起来呢?
有没有办法使App传输安全性更加冗长?当我的应用程序进行http调用时,我将在Xcode控制台中收到通知。但是,它没有告诉我哪个http请求触发了应用传输安全警告。
有没有一种方法可以使警告更加冗长,使其包含触发警告的URL?
在WWDC 2015上,Apple宣布推出适用于iOS 9的"App Transport Security".为解决SSL错误并绕过App Transport Security,Apple推出了一个关键的NSAppTransportSecurity,将添加到info.plist中.我们可以在Xcode 6中使用这个键吗?
在iOS 9下,我在这里使用了接受的答案:传输安全性阻止了明文HTTP
我将条目添加到我的Info.plist文件下NSAppTransportSecurity.我的应用程序似乎运行正常,以及执行我所考虑的所有请求.我仍然收到错误:
App Transport Security已阻止明文HTTP(http://)资源加载,因为它不安全.可以通过应用程序的Info.plist文件配置临时例外.
我的问题是,我找不到我的应用程序代码库中的来源,我不想允许所有域(在我接受的答案中引用了懒惰选项).有没有办法为它引发异常,以便我可以找到警告的来源?
我正在为第三方开发人员创建一个私有框架,这些开发人员不需要了解服务器等任何信息URLs。我需要为进行一些设置ATS,但似乎info.plist无法在该框架的项目中进行更改。
我是在做错什么,还是应该做这样的事情,我不能ATS在框架范围内进行管理?
我们有一个在Webview中显示HTML内容的应用程序.目前,提供给Webview的内容来自非安全域.从iOS10开始,它应该从安全域提供服务,因此在迁移之前需要清除一些疑问.
安全的HTML页面(https)是否应该具有来自安全服务器的CSS和JS链接?因为一些CSS和JS可能来自第三台服务器.
如果安全的HTML页面(https)被加载到Webview中并且有一些不受保护的链接(http),当用户点击它时,这些链接会加载到Webview中吗?
在此先感谢您的帮助.
有没有办法让我使用Xcode 8启用允许任意负载?似乎没有一个info.plist选项可以实现这一点.再加上NSData类型的删除,它有点令人困惑.
由于 Apple 要求开发者通过 App Tracking Transparency 框架获得用户\xe2\x80\x99s 的权限,以便在 iOS 14.5 中跟踪他们或访问他们的设备\xe2\x80\x99s 广告标识符 (IDFA)
\n我在应用程序中使用“Firebase/Crashlytics”和“Firebase/Analytics”来获取崩溃报告。所以我将以下目的字符串添加到我的 info.plist 中
\n<key>NSUserTrackingUsageDescription</key> \n<string>This identifier will be used to collect Crash Data.</string>\nRun Code Online (Sandbox Code Playgroud)\n但他们仍然拒绝了应用程序,原因如下。
\nGuideline 5.1.1 - Legal - Privacy - Data Collection and Storage\n\n\nWe noticed that your app requests the user\xe2\x80\x99s consent to access the AppTrackingTransparency framework, but doesn\xe2\x80\x99t sufficiently explain the use of the AppTrackingTransparency framework in the purpose string.\n\nTo help users make informed decisions about how …Run Code Online (Sandbox Code Playgroud) ios crashlytics swift app-transport-security firebase-analytics
ios ×7
ios9 ×3
objective-c ×3
swift ×2
xcode ×2
crashlytics ×1
ios-9-beta3 ×1
webview ×1
xcode6 ×1
xcode7 ×1
xcode8 ×1