2016-08-18 33 views
2

我已经开发了钛工作室的应用程序,并且都工作正常。至少在我的国家(葡萄牙)。当我将我的应用程序发送给Apple时,他们无法连接到具有我的应用程序所需信息的服务器。我的国家的应用程序连接问题

这是我如何连接到服务器:

function getData() { 

    if (Ti.Network.networkType == Ti.Network.NETWORK_NONE) { 
     var dialog = Ti.UI.createAlertDialog({ 
      ok : 'OK' 
     }); 
     dialog.message = 'Check your Internet connection.'; 
     dialog.title = 'Alert'; 
     dialog.show(); 

    } else { 
     var client = Ti.Network.createHTTPClient({ 
      onload : function(e) { 
      }, 
      onerror : function(e) { 
      }, 
      timeout : 30000 
     }); 
     client.open("POST", 'http://approteiros.virtualweb.pt/site/ajax.php'); 
     client.send({ 
      action : 'my_action' 
     }); 
    } 
} 

,如果它的工作在葡萄牙,但在美国没有工作可以采取什么问题吗?

我TiApp.xml文件:

<key>NSAppTransportSecurity</key> 
      <dict> 
       <key>NSExceptionDomains</key> 
       <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
       <key>NSExceptionRequiresForwardSecrecy</key> 
       <true/> 
       <key>NSExceptionMinimumTLSVersion</key> 
       <string>TLSv1.2</string> 
       <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> 
       <false/> 
       <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
       <true/> 
       <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
       <string>TLSv1.2</string> 
       <key>NSRequiresCertificateTransparency</key> 
      <false/> 
     </dict> 
    </dict> 

我已经加入这个我的XML文件。

回答

1

从美国东海岸,ping到你的服务器大概是328ms,给你一个参考点。

  1. 苹果的建议已经从过去的建议改变为检查连接,然后拨打电话。现在他们建议发起呼叫,如果失败,从那里调整。
  2. 您的服务器也未安装IPv6。苹果公司在6月份开始要求APPS在仅有ipv6的网络上运行,并期望它们最终也能开始测试服务器。
  3. 还预计苹果通过的2016年

所以最终需要HTTPS到API服务器的连接,与所有这一切,让我们开始用#2。您的代码段显示的是非ssl网址,您是否向tiapp.xml的<ios>部分添加了应用程序传输安全性异常?

大量客户使用AWS进行托管。即使在整个美国,从一个海岸连接到另一个海岸也许与连接到自己的海岸有不同的经历。

在我们的一些应用程序中,我们添加了2个功能。

  1. 设置一个基准超时,我们默认为10000ms(你的30000ms应该比绰绰有余)。在每次XHR超时时,我们将其增加5000.

  2. 我们做的第二件事是根据设备报告的时区偏移量来调整默认值。因此,如果服务器是基于美国的,对于美国大陆的5个可能的时区(为夏令时增加一个),我们设置合理的超时时间10000,然后对于所有其他时间,我们以25000开始。

+0

我已更新我的代码。那是我在这个问题上加了你的意思吗“所以,让我们从#2开始。你的代码片段显示了一个非SSL链接,你是否在tiapp.xml的部分中添加了应用程序传输安全异常? ? –

相关问题