1

Apple Watch で Watch OS2 でバーコードを生成するにはどうすればよいですか。iOS では ZXing などの API を使用して実行できますが、watchOS2 で同じことを行う方法はあるのでしょうか

NSError *error = nil;
ZXMultiFormatWriter *writer = [ZXMultiFormatWriter writer];
ZXBitMatrix* result;
//generate code 128 barcode
result= [writer encode:barCodeNumber
                    format:kBarcodeFormatCode128
                     width:500
                    height:500
                     error:&error];
if (result) {
    CGImageRef image = [[ZXImage imageWithMatrix:result] cgimage];
    return [UIImage imageWithCGImage:image];
 }
4

3 に答える 3

1

iOSアプリで画像を生成し、バックグラウンド転送を使用してOSを監視するために渡し、画像からNSDataを作成することで、次のように理解しました

- (void)viewDidLoad {
[super viewDidLoad];
if([WCSession isSupported]){
    self.watchSession = [WCSession defaultSession];
    self.watchSession.delegate = self;
    [self.watchSession activateSession];
}
}

   -(void)sendDatatoAppleWatch
{
NSMutableArray*barCodesArray=[[NSMutableArray alloc]init];
UIImage* barCodeImage=[self generateBarCode];
NSData *pngData = UIImagePNGRepresentation(barCodeImage);
[barCodeArray addObject:pngData]

    if(self.watchSession){
  NSError *error = nil;
    if(![self.watchSession
         updateApplicationContext:
         @{@"cardData" : userCardsArray }
         error:&error]){
        NSLog(@"Updating the context failed: %@", error.localizedDescription);

        UIAlertView* errorAlert=[[UIAlertView alloc]initWithTitle:error.localizedDescription message:error.debugDescription delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [errorAlert show];  
    }
 }


//*** Apple Watch Code**// 


- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
if([WCSession isSupported]){
    self.watchSession = [WCSession defaultSession];
    self.watchSession.delegate = self;
    [self.watchSession activateSession];
}
}


- (void) session:(WCSession *)session didReceiveApplicationContext:(NSDictionary<NSString *,id> *)applicationContext {
   NSData* imageData = [[[applicationContext objectForKey:@"cardData"] objectAtIndex:0] valueForKey:@"barCodeImage"];
   [self.barcodeImageView setImage:[UIImage imageWithData:imageData]];

}
于 2015-09-16T08:20:56.597 に答える