由于苹果要求提交审查的应用程序必须支持从2016年6月1日开始的仅IPv6网络,我正在检查是否需要替换我的应用程序中的某些API /库.不过,我对网络和一些相关方面的知识不够了解,因此我无法得出明确的答案,并希望寻求帮助.

关于苹果提供的文档Supporting IPv6 DNS64/NAT64 Networks,它指出应用程序应该是正常的,不需要执行更新,如果:

you’re writing a client-side app using high-level networking APIs such
as NSURLSession and the CFNetwork frameworks and you connect by name

通过这个我把它作为2标准:

>使用NSURLSession或CFNetwork
>按名称连接

所以这里的问题是:

>据我所知,NSURLConnection是基于CFNetwork,这是否意味着如果我的应用程序使用NSURLConnection,我也会很好吗? (我看到NSURLConnection也是在this image in the above document提到的,但是我再也不太清楚这一点,因为NSURLConnection是旧的?似乎我找不到提及IPv4和IPv6支持的文件.)
>按照“通过名称调用”的标准,这是否意味着无论我使用NSURLSession还是NSURLConnection,如果我碰巧通过IPv4地址调用或访问某些资源/ API,那么会发生不好的事情? (我做了一些研究,从我的理解客户端,iOS设备与iOS 9将始终使用合成的IPv6地址来访问IPv4服务器,结果如果我通过IPv4地址调用,客户端将无法到达资源?)

感谢任何帮助!

解决方法

>这可能会很好但是您可以通过连接到由Mac创建的NAT64网络来测试它,并查看您的应用程序是否工作. >如果您在iOS 9.2中使用更高级别的API,则名称和IPv4文字都可以正常工作.

ios – 为了实现对仅IPv6服务的强制性支持,我需要替换NSURLConnection吗?的更多相关文章

  1. App store拒绝应用程序在iOs 10上支持IPV6网络

    我收到苹果公司的app拒绝邮件,下面是我们在连接到IPv6网络的Wi-Fi上运行iOS10.0.2的iPad和iPhone上查看了应用中的一个或多个错误.具体来说,应用程序在启动时仍保留在启动屏根据他们的要求,我已经在我的Mac上创建了NAT64网络,并为iPhone5S设备10.0.2os版本共享了互联网,App工作正常,但苹果称其不与IPv6合作任何人都可以确认我需要检查其他什么吗?

  2. 需要适用于iOS 9的IPv6组播C代码

    苹果现在要求iOS9应用符合IPv6.我们几乎可以,除了一些发送UDP广播的代码–现在在iOS9中失败了.我看到的一切告诉我,UDP组播是在IPv6中这样做的正确方法.我已经找到一些示例代码,但是在我尝试过的任何版本的iOS或MacOSX上都无效.这个代码是从我们程序中的C/C++lib调用的–很难回调到Swift,Obj-C,Java等.这段代码将由我们的应用程序的MacOSX和Android版本共享.有人会认为可以在任何POSIX环境中的C中进行IPv6组播!

  3. centos – 200个并发连接后NGINX超时

    Nginx应该快速关闭端口.以下是对sysctl.conf的建议:这些值非常低,但我在高并发Nginx盒子上取得了成功.

  4. Debian / Ubuntu中的静态IPv6地址广告和IPv6自动配置

    这对于反向DNS和防火墙设置尤其有用.我不想禁用IPv6自动配置,因为我无法控制路由器通告的设置.当然,防止autoconf地址被使用的最简单方法是通过执行以下操作来阻止内核创建它们:请注意,这不需要您重新配置路由器,以便它停止发出前缀的广告.在评论中注意,您谈到/etc/gai.conf,但这不适用.这是glibc的配置文件,而不是内核,它影响目标地址选择,而不是源地址选择.如果你仍然希望有autoconf地址,但你不想让它们被使用,那么请继续阅读…

  5. ubuntu – Nginx 10k并发连接

    我们无法在Nginx中处理超过3k的并发请求(Connecton超时).我们还将ulimit更改为20000.以下是我的Nginx.conf和sysctl.conf文件:systel.conf我们使用的是带有4个cpu和8GBRAM的ubuntu操作系统.我几乎看不到任何cpu和RAM使用情况.我只是在触发Nginx默认页面URL.我强烈建议你使用微缓存.示例:http://www.howtofo

  6. 在Ubuntu中禁用IPv4并仅使用IPv6

    我正在做一些与IPv6相关的测试,我想在Linux上完全禁用我的IPv4测试,但找不到任何容易的地方.如何使IPv6成为唯一活跃的IPv6?

  7. ubuntu – 如何使用ufw仅在ipv4上打开端口?

    每当我运行像ufwallow22这样的命令时,ufw会自动将防火墙规则添加到ipv4和ipv6.如果我只想在ipv4上打开一个端口,有没有办法这样做?像ufw这样的东西允许22个protoipv4.您只需使用fullersyntax并指定地址(范围).例如,允许在所有IPv4地址上连接到TCP端口22:

  8. ubuntu – curl和wget尝试ipv6连接

    在我的专用服务器上,运行全新安装的Ubuntu14.04,curl和wget大约需要10秒才能完成一个简单的请求.并且仅在10秒后它才会真正返回一些东西.所以我决定对此进行操作:在所有这些超时之后,我可以清楚地看到套接字后跟套接字.wget的行为方式相同.更多相关信息:ifconfig没有显示inet6地址.我怎样才能防止这种情况发生?

  9. ubuntu – 为什么这个IPv6 listen指令也不接受IPv4?

    在我的Ubuntu12.04上的Nginx设置中,我只设置了一个配置文件:我重新启动了Nginx.为什么Nginx不接受IPv4连接?

  10. PHP $_SERVER [‘REMOTE_ADDR’]显示IPv6

    我在PHP中遇到了$_SERVER[‘REMOTE_ADDR’]的问题即使服务器使用IPv4,它也会提供类似IPv6的值.任何人都可以帮我解决这个问题.然后,服务器接受IPv6套接字上的连接.某些操作系统可以在IPv6套接字上同时执行IPv4和IPv6.当发生这种情况时,IPv6地址看起来像::ffff:192.0.2.123或::ffff:c000:027b,它们是相同的地址但用十六进制编写.如

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部