如何使用联系信息等复杂数据生成QR码?

时间:2014-08-23 09:44:51

标签: ios iphone qr-code

现在我用简单的文本生成QR码,为此我使用下面的演示项目     IOS_QR_Code_Generator

用于生成QR码:

 NSString *code = @"JAY RAPARKA SIMPLE Encoding string";

 Barcode *barcode = [[Barcode alloc] init];

 self.view.backgroundColor = [UIColor whiteColor];

 [barcode setupQRCode:code];
 ivQRCode.image = barcode.qRBarcode;

现在我只编码" JAY RAPARKA SIMPLE编码字符串" 这个简单的文字,但我想为更复杂的数据生成QR代码,如(竞赛信息,链接/网址,基于id等帐户余额。)。所以请任何人早点完成这件事,请帮助我。

谢谢!

对于解码,我使用ZBar sdk,它也可正常工作,编码也可以工作,但我只想生成QR以获取更多数据。

2 个答案:

答案 0 :(得分:2)

您可以通过以下面的格式提供文字来创建联系信息

BEGIN:VCARD
VERSION:2.1
N:;Company Name
FN:Company Name
ORG:Company Name
TEL;WORK;VOICE;PREF:+16045551212
TEL;WORK;FAX:+16045551213
ADR;WORK;POSTAL;PARCEL;DOM;PREF:;;123 main street;vancouver;bc;v0v0v0;canada
EMAIL;INTERNET;PREF:user@example.com
URL;WORK;PREF:http://www.example.com/
NOTE:http://www.example.com/
CATEGORIES:BUSINESS,WORK
UID:A64440FC-6545-11E0-B7A1-3214E0D72085
REV:20110412165200
END:VCARD

答案 1 :(得分:0)

您可以使用此代码

- (NSString *)vCardRepresentation
{
  NSMutableArray *mutableArray = [[NSMutableArray alloc] init];

  [mutableArray addObject:@"BEGIN:VCARD"];
  [mutableArray addObject:@"VERSION:3.0"];

  [mutableArray addObject:[NSString stringWithFormat:@"FN:%@", self.name]];

  [mutableArray addObject:[NSString stringWithFormat:@"ADR:;;%@",
                       [self addressWithSeparator:@";"]]];

  if (self.phone != nil)
  {
    [mutableArray addObject:[NSString stringWithFormat:@"TEL:%@", self.phone]];
  }

  [mutableArray addObject:[NSString stringWithFormat:@"GEO:%g;%g",
                       self.latitudeValue, self.longitudeValue]];

  [mutableArray addObject:[NSString stringWithFormat:@"URL:http://%@",
                       self.website]];

  [mutableArray addObject:@"END:VCARD"];

  NSString *string = [mutableArray componentsJoinedByString:@"\n"];

  [mutableArray release];

  return string;
}

或者您可以使用saparator生成String 等,

NSString *str = "Name : Jay, Work : IOSDeveloper";

然后使用

来完成此操作

NSArray * ary = [mystring componentsSeparatedByString:@“,”];

现在你可以使用带索引的这个ary。