I have an iPhone app that captures a UIView as UIImage after 5-10 seconds. Is it possible to pass that UIImage to my Apple Watch app and show it in UIImageView there?
Dejan Skledar
Yes it is. All you need to do is create a NSDictionary
like:
var dict:[NSString : UIImage] = ["image" : yourImage]
And then you just use the following methods to communicate between the Apple Watch and the iOS app: LINK
The answers here are only half correct cause you can't send an UIImage directly! You need to send your images as NSData like f.e. so:
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo
reply:(void (^)(NSDictionary *))reply
{
reply(@{@"image" : UIImagePNGRepresentation(yourUIImage)});
// JPEG Representation would of course also work
}
Yes you can do.
You can pass data using this method
- (IBAction)passUserInfo:(id)sender
{
NSDictionary *userInfo = @{@"image":[UIImage imageNamed:@"test"]};
[WKInterfaceController openParentApplication:userInfo reply:^(NSDictionary *replyInfo, NSError *error){
if ([replyInfo objectForKey:@"success"]) {
NSLog(@"Sent your data");
}
}];// userinfo must be non-nil
}
and you can handle your data in this method.
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply
{
UIImage *image = [userInfo objectForKey:@"image"];
NSDictionary *replyInfo = @{@"success":@"success",@"error":@""};
reply(replyInfo);
}
Otherwise see this Tutorial
来源:https://stackoverflow.com/questions/29515599/how-to-pass-uiimage-from-iphone-app-to-apple-watch-app