gpt4 book ai didi

ios - Xamarin iOS IPv6 应用商店拒绝

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:23:13 25 4
gpt4 key购买 nike

我们一直在构建一个关于客户端 - 服务器应用程序的 iOS 应用程序。我们在带有 Xamarin 的 iOS 应用程序中使用 SQL 连接和 WCF Web 服务。

SQL 连接代码:

    String ips = "10.0.0.1" ; //Example.
SqlConnection con = new SqlConnection(@"Data Source=" + ips + "; initial Catalog="x";user id =y;password = z;");

Apple 决定在 iOS9 上只使用 ipv6,因此他们发布了一份关于 IPv6 兼容性的文档 - IPv6 Documentation

Xamarin 也发布了一篇关于此的博文 - Making Your iOS Apps IPv6 Ready

我阅读了所有这些文件,但我无法摆脱这个“商店拒绝”问题。

我想向您展示我最后的尝试:(ipv4 到 ipv6)

string input = "10.0.0.1";
string ips = "";
IPAddress address;
if (IPAddress.TryParse(deviceIP, out address))
{
switch (address.AddressFamily)
{
case System.Net.Sockets.AddressFamily.InterNetwork:
// we have IPv4
ips = input;
break;
case System.Net.Sockets.AddressFamily.InterNetworkV6:
// we have IPv6
IPAddress ip = IPAddress.Parse(input).MapToIPv6();
ips = "[" + ip.ToString() + "]";
break;
default:
//
break;
}
}

我按照 Xamarin 博客文章中的描述使用了 MapToIPv6() 函数,但我的应用程序再次被 Apple 拒绝。

我们的应用程序在 IPv4 上运行良好(Apple 也这么说)。当 Apple 工程师关闭 ipv4 并仅使用 ipv6 时,我们的应用无法访问主机。

请帮我解决这个问题。

平台:Windows 10 + Mac OS X El-Capitan 上带有 Xamarin 的 Visual Studio 2015

服务器:仅 IPv4。

最佳答案

评论中已经有一些有用的内容,但我认为您的主要问题是您将 IPv4 映射到 IPv6 的方式相反。您原样保留 IPv4 地址,并将 IPv6 地址映射到它已经存在的 IPv6。

看一下修复后的版本:

string input = "10.0.0.0";
string ips = "";
IPAddress address;
if (IPAddress.TryParse(input, out address))
{
switch (address.AddressFamily)
{
case System.Net.Sockets.AddressFamily.InterNetwork:
// we have IPv4, map it to IPv6
IPAddress ip = IPAddress.Parse(input).MapToIPv6();
ips = ip.ToString();
break;
case System.Net.Sockets.AddressFamily.InterNetworkV6:
// we have IPv6, leave it as is
ips = input;
break;
}
}

要亲自看看,您可以查看 Reference Source .从那里您可以看到,在您的示例中 AddressFamilyInterNetworkV6 因此 MapToIPv6 方法只返回 IPAddress 不变,因为没有什么可以改变的。

public IPAddress MapToIPv6()
{
if (AddressFamily == AddressFamily.InterNetworkV6)
{
return this;
}

// ...
}

关于ios - Xamarin iOS IPv6 应用商店拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38621427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com