XE10开发的APP对于苹果IPV6上架要求的处理(DelphiTeacher)


1.服务器必须使用域名.不能使用IP地址
2.Indy的话,域名加[]
3.DataSnap的话,Params.Values['CommunicationIPVersion'] :='IP_IPv6';
4.当前网络环境的判断,如下代码:


{$IFDEF IOS}
uses
StrUtils,
Posix.NetDB,
IdStackConsts;
{$ENDIF}



function IsSupportIPV6Host_IOS(const Host:String):Boolean;
{$IFDEF IOS}
var
APHostEnt:PHostEnt;
{$ENDIF}
begin
Result:=False;
{$IFDEF IOS}
//苹果只要求IOS9以上的系统运行APP支持IPV6
//IOS版本要大于9
if TOSVersion.Check(9) then
begin
try
FMX.Types.Log.d('OrangeUI IsSupportIPV6Host_IOS '+Host);
//如果当前环境是IPV4,APHostEnt为nil
APHostEnt:=gethostbyname2(MarshaledAString(TEncoding.UTF8.GetBytes(Host)),Id_PF_INET6);
Result:=(APHostEnt<>nil);
FMX.Types.Log.d('OrangeUI IsSupportIPV6Host_IOS IsIPV6 '+BoolToStr(Result));
except
//但是在IPV4切换到IPV6,程序没有退出的时候,会报错
end;
end;
{$ENDIF}
end;

http://blog.sina.com.cn/s/blog_44fa172f0102w8sj.html

优质内容筛选与推荐>>
1、QtWebkits如何向QtWebEngine过渡
2、朴素贝叶斯
3、python socket模块
4、mysql 存储过程 计算报表
5、VC GDAl 读取并显示图像


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号