私はQrジェネレーターアプリケーションで働いており、そのために素晴らしいkyupayライブラリがあります。
そのライブラリでは、文字列値を渡す必要があり、QR画像が返されます。
それはテキスト、電子メールなどのためにうまく機能しています...
しかし今、私は連絡先とイベント用のQR画像を作成したいと思っています。これを行う方法がわかりません。
だから私の問題はそのための論理はどうあるべきか????
私に提案するか、そのためのコードがある場合はそれを共有してください。
私の質問に答えてくれてありがとう。
最後に、連絡先のQrコード文字列を返す関数を作成します。
簡単ですが長すぎます。
ユーザーからのデータ入力をチェックし、データごとにstingを追加して、文字列を作成する必要があります。
私は自分のコードを投稿しているので、他の人を助け、彼らの時間を節約することができます。
-(NSString *)GenerateStringForContact{
NSString *str = @"";
NSMutableArray *arr1 =[[NSMutableArray alloc] init];
for (int i=0 ; i<[arrayAttributeName count]; i++) {
if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"First Name"]) {
if ([strContactType isEqualToString:@"ContactMecard"]) {
[arr1 addObject:@"N:"];
}else{
[arr1 addObject:@"FN:"];
}
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Last Name"]) {
// [arr1 addObject:@"N:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Phone"]) {
[arr1 addObject:@"TEL:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Email"]) {
[arr1 addObject:@"EMAIL:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"URL"]) {
[arr1 addObject:@"URL:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Nickname"]) {
[arr1 addObject:@"NICKNAME:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Title"]) {
[arr1 addObject:@"TITLE:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Organization"]) {
[arr1 addObject:@"ORG:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Birthday"]) {
[arr1 addObject:@"BDAY:"];
}else if ([[arrayAttributeName objectAtIndex:i] isEqualToString:@"Note"]) {
[arr1 addObject:@"NOTE:"];
}
}
NSMutableArray *contDetail = arrayAttributeValue;
if ([strContactType isEqualToString:@"ContactMecard"]) {
str = @"MECARD:";
// arr1 = [[NSArray alloc] initWithObjects:@"N:",@"TEL:",@"EMAIL:",@"URL:",@"NOTE:",@"NICKNAME:",@"BDAY:",@"ADR:",nil];
}else{
str = @"BEGIN:VCARD";
// arr1 = [[NSArray alloc] initWithObjects:@"N:",@"TEL:",@"EMAIL:",@"URL:",@"NOTE:",@"NICKNAME:",@"BDAY:",@"ADR:",@"TITLE:",@"ORG:",nil];
}
BOOL count = TRUE;
for (int i =0; i <[contDetail count]; i++) {
if (![[contDetail objectAtIndex:i] isEqualToString:@""]) {
NSString *tmp2 =@"";
if (i == 0 || i == 1) {
if (count) {
if ([strContactType isEqualToString:@"ContactMecard"]) {
tmp2 = [NSString stringWithFormat:@"%@,%@",[contDetail objectAtIndex:0],[contDetail objectAtIndex:1]];
NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i],tmp2];
str = [NSString stringWithFormat:@"%@;%@",str,tmp];
}else{
tmp2 = [NSString stringWithFormat:@"%@ %@",[contDetail objectAtIndex:0],[contDetail objectAtIndex:1]];
NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i],tmp2];
str = [NSString stringWithFormat:@"%@\n%@",str,tmp];
}
count = FALSE;
}
}else{
tmp2 = [contDetail objectAtIndex:i];
NSString *tmp = [NSString stringWithFormat:@"%@%@",[arr1 objectAtIndex:i-1],tmp2];
if ([strContactType isEqualToString:@"ContactMecard"]) {
str = [NSString stringWithFormat:@"%@;%@",str,tmp];
}else{
str = [NSString stringWithFormat:@"%@\n%@",str,tmp];
}
}
}
}
if (![strContactType isEqualToString:@"ContactMecard"]) {
str = [NSString stringWithFormat:@"%@\nEND:VCARD",str];
}
NSLog(@"here string for generate code %@",str);
return str;
}
ありがとう....
このサイトで連絡先QRコードを作成する場合:http://zxing.appspot.com/generator/QRコードの作成に使用する文字列を提供します。たぶんあなたはこれをインスピレーションとして使うことができますか?