我正在制作IOS应用程序,如何让应用程序向我发送设备的UDID?

时间:2013-09-05 17:29:19

标签: mysql iphone ios

我目前正在开发和IOS应用程序,出于安全考虑,我想知道如何让应用程序将设备“UDID”发送到服务器。 所以基本上我需要知道如何使设备“获取”udid,然后将udid作为“请求”发送到服务器。

如果UDID在MYSQL数据库中“已注册”,则服务器将发回确认。

除了找到如何获取udid之外,我可能需要额外的帮助来设置mysql数据库:$

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令获取iOS设备的UUID:CFUUIDRef udid = CFUUIDCreate(NULL); NSString * udidString =(NSString *)CFUUIDCreateString(NULL,udid);

(Apple不喜欢你使用UDID)。

至于将其发布到服务器,我建议使用JSON post方法,并记录成功。一个好的JSON库是SBJson,可以找到here。您需要创建HTTP帖子,获取响应数据,并使用SBJson库来解析响应。

编辑:OR代替SBJson,正如Carbonic acid指出的那样,你可以使用NSJSONSerialization。此外,正如Naz Mir指出的那样,使用了新的UUID方法。

答案 1 :(得分:-1)

编辑:

[[[[UIDevice currentDevice] identifierForVendor] UUIDString]并没有像我所说的那样弃用。请浏览以下链接以获取信息。

如上所述获取UDID NSString * uuididentifier = [[[[UIDevice currentDevice] identifierForVendor] UUIDString];已弃用且Apple不再允许。如果您的目标是唯一标识设备,则可以使用SecureUDIDOpenUDID

我曾经在我们的某个应用程序中使用过OpenUDID,使用它就像 -

一样简单
#import "OpenUDID.h"

[OpenUDID setOptOut:NO];
self.openUDID = [OpenUDID value];

获得所需值后,将其发送到服务器是微不足道的。您可以使用AFNetworking之类的iOS网络库来发送和接收数据。例如,

#import "AFHTTPRequestOperation.h"

NSURL *url = [NSURL URLWithString:@"Your sever URL"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSString *postString = [NSString stringWithFormat:@"&UDID=%@", self.
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPMethod:@"POST"];
AFHTTPRequestOperation *httpOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

[httpOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *httpOperation, id responseObject) {

        //handle server response here
        NSLog(@"%@", [httpOperation responseString]); //this contains the servers response

}failure:^(AFHTTPRequestOperation *httpOperation, NSError *error) {          

        //handle server errors here
        NSLog(@"error: %@", [httpOperation error]);
}];