iOS 9引入了App Transport Security (ATS)以鼓励使用安全连接。
这很棒,但是如果我的应用程序有内置的Web浏览器,用户应该可以使用它连接到任何网站怎么办?例如,Facebook应用程序允许故事包含指向外部网站的链接。当用户点击这样的链接,而不是启动Safari时,它会启动应用内浏览器。
如果没有enabling the global NSAllowArbitraryLoads flag,我怎么能得到同样的行为?
我想要强制执行https使用的所有好处,但想要在我的内部浏览器中禁用此检查。在一个理想的世界中,Apple允许我在我的UIWebView上指定一个属性,以允许它加载不安全的URL,而不是全部或全部。我无法将每个域列入白名单,因为我不知道我的用户将加载哪些URL。我正在寻找与iOS 8兼容的解决方案。
答案 0 :(得分:1)
在这种情况下,您需要通过将NSAllowsArbitraryLoads
设置为true来禁用ATS。如果您有可以支持HTTPS的特定网址(例如您在UIWebView
之外的应用中使用的自己的服务器或API服务器),那么您可以创建例外并设置对于那些例外,NSExceptionsAllowsInsecureHTTPLoads
为false
答案 1 :(得分:1)
而不是启用UIViewController *webBrowser;
if ([SFSafariViewController class] != nil) {
webBrowser = [[SFSafariViewController alloc] initWithURL:url];
} else {
webBrowser = [[ABCWebBrowserController alloc] initWithURL:url];
}
[self presentViewController:webBrowser animated:YES completion:nil];
,更安全的解决方案是conditionally use SFSafariViewController,它允许任意加载。
如果该类存在,则显示它,否则,呈现您自己的UIViewController(包含UIWebView)。
<div class="input_fields_wrap">
<div class="row">
<div class="form-group col-xs-12 col-sm-3 form-group-sm">
{!! form::label('first_name[]', 'First Name: ') !!}
{{--{!! form::text('first_name[]', null, ['class' => 'form-control', 'placeholder' => 'First Name']) !!}--}}
<input type="text" name="first_name[]" value="" class="form-control" placeholder="First Name">
</div>
<div class="form-group col-xs-12 col-sm-3 form-group-sm">
{!! form::label('middle_name[]', 'Middle Name[s]: ') !!}
{{--{!! form::text('middle_name[]', null, ['class' => 'form-control', 'placeholder' => 'Middle Name[s]']) !!}--}}
<input type="text" name="middle_name[]" value="" class="form-control" placeholder="Middle Name[s]">
</div>
<div class="form-group col-xs-12 col-sm-3 form-group-sm">
{!! form::label('last_name[]', 'Last Name: ') !!}
{{--{!! form::text('last_name[]', null, ['class' => 'form-control', 'placeholder' => 'Last Name']) !!}--}}
<input type="text" name=last_name[]" value="" class="form-control" placeholder="Last Name">
</div>
</div>
</div>
<button class="btn btn-success add_field_button"><i class="fa fa-user"></i> Add Another Person (Max 5)</button>