我目前正在开发和IOS应用程序,出于安全考虑,我想知道如何让应用程序将设备“UDID”发送到服务器。 所以基本上我需要知道如何使设备“获取”udid,然后将udid作为“请求”发送到服务器。
如果UDID在MYSQL数据库中“已注册”,则服务器将发回确认。
除了找到如何获取udid之外,我可能需要额外的帮助来设置mysql数据库:$
谢谢!
答案 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不再允许。如果您的目标是唯一标识设备,则可以使用SecureUDID或OpenUDID
我曾经在我们的某个应用程序中使用过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]);
}];