在我的iOS应用中,我必须限制用户为每台设备使用iOS应用.为此,我找到了一个我们可以使用UUID (Universally Unique Identifier)或的解决方案UDID (Unique Device Identifier).但根据这个答案,我不能使用UUID,因为如果应用程序被删除或重新安装UUID已经改变,我不希望这样.如果应用程序使用,Apple也拒绝应用程序UDID.
有没有办法唯一地识别iOS设备.
我正在使用用户的设备UUID来获取独特的设备.
NSString *currentUUIDString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
Run Code Online (Sandbox Code Playgroud)
我知道UUID如果应用程序被删除/重新安装(Apple文档),则会更改.
但是UUID对于以下情况会有变化吗?
OS version已升级.iCloud/iTunes备份和恢复.UUID Keychain存储将无法正常工作.我想,钥匙串存储也会被清除.)编辑:
不,这不重复,该问题与如何唯一地识别设备有关,我已经遵循了.我知道我们可以用来UUID唯一地识别设备.但我担心的是UUID可能会发生变化的频率是多少,如果发生变化,那么它可以改变的场景是什么.
我想将大型视频从iPhone上传到网络服务器.我试过下面的代码.它适用于小文件,但当我尝试上传大文件时,它会崩溃.
码:
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"https://XXXXXXXXXXXXXXXX/submit.php"]];
NSData *webData = [NSData dataWithContentsOfURL:movieUrl];
NSString *postLength = [NSString stringWithFormat:@"%d", [webData length]];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
---- added some HTTP headers here ----
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *postbody = [NSMutableData data];
[postbody appendData:[NSData dataWithData:webData]];
[request setHTTPBody:postbody];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)
经过研究我得到了一个想法,如果我在大块数据中发送大文件,这将是可能的.solution1,solution2.
我还经历了Stream Programming apple doc. 但不知道在哪里定义服务器NSURL.将数据写入输出流后如何发送到服务器.
如果有人能指出我的任何工作代码,那么我将能够更好地理解它.
怎么做?有什么想法吗?
在我的iOS应用程序中,当用户点击UITextfield我需要自动将键盘视图更改为数字视图时.我写下面的代码,它工作正常.
UITextField *txtfield = [[UITextField alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
txtfield.keyboardType = UIKeyboardTypeNumberPad;
Run Code Online (Sandbox Code Playgroud)
我的app支持本地化.我在设备上添加了4个键盘,如英语,西班牙语,印地语,表情符号.我想在数字键盘类型中禁用或隐藏本地化.请参阅附图.我用红框突出显示.
谁知道怎么做?