【问题标题】:Can't connect php file with Xcode through iPhone无法通过 iPhone 将 php 文件与 Xcode 连接
【发布时间】:2017-05-25 08:26:03
【问题描述】:

我正在开发一个包含数据库的应用程序。我使用 PHP 连接到 MySQl 数据库。这是我的连接代码:

var request = URLRequest(url: URL(string: "http://localhost/Workspace/Twitter/register.php")!)
request.httpMethod = "POST"
let body = "Username=\(UsernameTXF.text!.lowercased())&password=\(PassTXT.text!.lowercased())"
request.httpBody = body.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else {                                                 // check for fundamental networking error
     print("error=\(error)")
     return
}

当我在模拟器上运行这段代码时,它可以完美运行,但是当我在 iPhone 上运行它时,会出现以下错误:

error=Optional(Error Domain=NSURLErrorDomain Code=-1004 "无法连接到服务器。" UserInfo={NSUnderlyingError=0x17425dbb0 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=61 , _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=http://localhost/Workspace/Twitter/register.php, NSErrorFailingURLKey=http://localhost/Workspace/Twitter/register.php, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSLocalizedDescription=无法连接到服务器。})

【问题讨论】:

    标签: php ios iphone xcode


    【解决方案1】:

    iPhone 上的“localhost”与运行模拟器的桌面上的“localhost”完全不同。如果您想在您的 iPhone 上运行此代码,请指定一个可以通过手机访问的域。即,使用数字 IP 地址或指定运行您的 Web 服务的域。

    【讨论】:

    • 我需要为此购买一个域名吗?
    • 如果您的手机使用 wifi 连接到互联网,您可能只使用工作站的 IP 地址 - 但这仅适用于连接到您的网络服务所在 LAN 的手机运行和。如果手机使用您的手机服务(例如,通过 Verizon 的 G4 或 LTS 或其他方式)连接到互联网,那么您的网络服务必须由更广泛的互联网上的公开可见计算机托管。您也许可以为您的工作站使用 DynDNS - 或者不能。
    • 好的。将来如果我的应用程序将在应用程序商店中,这是向 mysql 插入数据的最佳方式吗?
    • 如果您希望此应用出现在应用商店中,那么您必须选择。您自己想访问他人存储的数据吗?或者数据是否必须共享?如果是这样,是的,您将需要一个域。或者,如果每个用户只需要存储自己的数据,那么您可能可以使用本地数据库,如 SQLLite 或类似的东西。
    • 对 OP 的 PS - Apple 最终将强制所有人使用 https....developer.apple.com/news/?id=12212016b
    猜你喜欢
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 2019-07-10
    • 2020-06-19
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多