0

这是我在这里的第一篇文章,所以很好:) 我是编写 iOS 的新手,目前正在编写一个应用程序,该应用程序使用与服务器通信并保存用户 UDID 的登录系统。我需要应用程序检查 UDID 是否在服务器上,如果它匹配自动填写登录表单中的用户名 UITextField。

请有人可以帮助我或指出我正确的方向。

4

4 回答 4

2

麦克风

欢迎来到 SO。

我假设您知道如何获取 UDID?如果没有,你会得到它

NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];

将此发送到您的服务器(您有一个包含 UDID 和相应用户信息的表)。使用 PHP(或您使用的任何语言)检查服务器上是否有此 UDID 的条目。如果是,则获取相应的用户名并在文本字段中将其设置为

[textField setText:theUserName];

如果您不知道如何发送请求并从 iOS 应用程序获取响应,ASIHTTPRequest将是一个很好且简单的开始方式。

如果您需要任何其他具体帮助,我建议您更新问题。

于 2011-08-29T19:06:18.683 回答
1

欢迎使用 iOS 和 Stackoverflow!

您可以构建一个 PHP 服务来验证您的设备的 UDID 并检查该设备和用户名是否已在您的站点上注册,假设您正在使用 MySQL 数据库跟踪这些注册,那么 PHP 肯定可以做到这一点。

验证此设备存在后,您可以使用 JSON 回调将设备的 UDID 发送到 iPhone。

至于解析这个 JSON,请查看 SBJSONParser。

假设您对这两种语言都不熟悉,可能很难用 2 种语言实现这一点。此任务可能以更安全或更简单的方法完成,但这可能是检查 iPhone 必须提供的网络通信的每个部分的考虑因素

祝你好运!

布莱恩

于 2011-08-29T19:01:14.547 回答
1

Mike,Apple 将逐步淘汰 UDID,因此您应该真正考虑一种新方法。我会建议 app.domain 和设备 MAC 号码的组合。

然后,让您的应用程序使用 HTTPRequest 与您的服务器通信,并以 JSON 格式返回数据并在应用程序端对其进行解析。

于 2011-08-29T19:19:57.760 回答
0

GitHub 已经有了 UIDevice uniqueidentifier 被丢弃的解决方案: https ://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

项目介绍:

描述

Apple 停止支持 iOS 的唯一标识符。这个源代码解决了这个问题。它根据设备的mac地址和bundle标识符生成一个唯一标识符。

你需要做什么:

将 NSString+MD5Addition 和 UIDevice+IdentifierAddition 复制到您的项目中。

使用 [[UIDevice currentDevice] uniqueDeviceIdentifier] 检索唯一标识符或

使用 [[UIDevice currentDevice] uniqueGlobalDeviceIdentifier] 检索全局唯一标识符(用于不同应用之间的跟踪)。

玩得开心并关注 twitter.com/gekitz ;)

//感谢 Erica Sadun 的 UIDevice+Hardware Addition(用于 mac 地址检索)。

于 2011-08-29T19:41:43.797 回答