I copied some bits of code from apple's documentation- and I got these 2 errors:
Undefined symbols for architecture i386: "_kUTTypeImage", referenced from: -[ImagePicker imagePickerController:didFinishPickingMediaWithInfo:] in ImagePicker.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
What am I doing wrong?
EDIT: The code:
- (IBAction) showSavedMediaBrowser { [self startMediaBrowserFromViewController: self usingDelegate: (id)self]; } - (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate { if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO) || (delegate == nil) || (controller == nil)) return NO; UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init]; mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; // Displays saved pictures and movies, if both are available, from the // Camera Roll album. mediaUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeSavedPhotosAlbum]; // Hides the controls for moving & scaling pictures, or for // trimming movies. To instead show the controls, use YES. mediaUI.allowsEditing = YES; mediaUI.delegate = delegate; [controller presentViewController:mediaUI animated:YES completion:nil]; return YES; } - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info { NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; UIImage *originalImage, *editedImage, *imageToUse; // Handle a still image picked from a photo album if (CFStringCompare ((__bridge_retained CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) { editedImage = (UIImage *) [info objectForKey: UIImagePickerControllerEditedImage]; originalImage = (UIImage *) [info objectForKey: UIImagePickerControllerOriginalImage]; if (editedImage) { imageToUse = editedImage; } else { imageToUse = originalImage; } // Do something with imageToUse } [[picker parentViewController] dismissModalViewControllerAnimated: YES]; }
I think the error is where the last method starts, but I'm not sure.
Your post does not have much context to explain the code sections; please explain your scenario more clearly.
Look up the symbol (kUTTypeImage
) and locate the image/library it should exist in (MobileCoreServices.framework
in this case). Then link your binary with that framework.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With