मुझे एक आईओएस ऐप के लिए एक कैमरा देखें नियंत्रक को लागू करने में कोई समस्या है जो मैं काम कर रहा हूं। जब कोई बटन दबाया जाता है, तो मेरे पास एक सिंगलटन कैमरा ऑब्जेक्ट होता है जो AVFoundation
चीजों का पक्ष प्रबंधित करता है और छवि को कैप्चर करता है। जैसा कि आप नीचे देख सकते हैं, एक बार UIImage
कैमरे से कब्जा कर लिया गया है, तो मैं इसे पूरा करने वाला एक पूर्ण ब्लॉक पास करता हूं।PHAssetChangeRequest कैमरे के साथ लिया गया UIImage के लिए असफल रहा
नीचे दी गई पहली विधि एक ऐसी क्रिया है जो कैमरे पर कैप्चर बटन दबाए जाने पर आग लगती है। सबसे पहले, कैमरा परत पूर्वावलोकन परत पर कनेक्शन को अक्षम करके रोका जाता है, फिर छवि कैप्चर की जाती है। फिर, कैमरा ऑब्जेक्ट UIImage
पर कब्जा करता है, जिस बिंदु पर मैं दृश्य से कैमरा पूर्वावलोकन परत हटा देता हूं और इसके बजाय UIImageView
अपनी जगह पर कैप्चर की गई छवि के साथ सबव्यूव जोड़ता हूं।
अगला, मैं फोटो फ्रेमवर्क का उपयोग करके फ़ोटो में बनाई गई एल्बम में छवि जोड़ना चाहता हूं। मैं बिना किसी समस्या के एल्बम बना सकता हूं, और मैंने सत्यापित किया है कि PHAssetCollection
ऑब्जेक्ट। मैं दूसरी विधि में उपयोग कर रहा हूँ सही है।
कुछ कारणों से, मैं UIImage
को एल्बम में कैप्चर नहीं कर सकता हूं। मैंने अपनी परियोजना में एल्बम में एक यादृच्छिक छवि फ़ाइल जोड़ने की कोशिश की, और ऑपरेशन सफलतापूर्वक पूरा हुआ। मैंने यह भी सत्यापित किया है कि दोनों विधियों में छवि विवरण देखने के लिए NSLog
कथन का उपयोग कर सही छवि को addPhotoToSavedPhotos
विधि में सफलतापूर्वक पारित किया जा रहा है। इससे मुझे विश्वास होता है कि किसी भी तरह छवि के साथ कुछ गलत है, लेकिन छवि दृश्य इसे सफलतापूर्वक प्रदर्शित करता है, इसलिए मुझे यकीन नहीं है कि यह क्या हो सकता है।
अगर किसी के पास समाधान के बारे में कोई विचार है तो मैं कोशिश कर सकता हूं, मैं इसकी सराहना करता हूं। error.localizedDescription
NSLog
से दूसरे विधि में "The operation couldn't be completed
आउटपुट में । (कोको त्रुटि -1)। "
- (IBAction)capturePhoto:(id)sender {
[self pauseCameraLayer];
[[eventCamera sharedInstance] captureStillUIImage:^(UIImage *image, NSError *error){
if(error)
{
NSLog(@"error capturing photo");
}
else
{
NSLog(@"%@",image.debugDescription);
}
[_captureButton setHidden:YES];
[_switchCameraButton setHidden:YES];
UIImageView *preview=[[UIImageView alloc] initWithImage:image];
[preview setAutoresizesSubviews:YES];
[preview setContentMode:UIViewContentModeScaleAspectFit];
[preview setTransform:CGAffineTransformMakeRotation(M_PI_2)];
preview.frame=_imageView.bounds;
[_imageView addSubview:preview];
[self addPhotoToSavedPhotos:[image copy]];
NSLog(@"1: %@",image.description);
}];
-(void)addPhotoToSavedPhotos:(UIImage*)photo
{
PHAssetCollection *myCollection=[self getAPPCollection];
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
//Perform changes to photo library
PHAssetChangeRequest *req=[PHAssetChangeRequest creationRequestForAssetFromImage:photo];
PHAssetCollectionChangeRequest *assetChangeRequest=[PHAssetCollectionChangeRequest changeRequestForAssetCollection:myCollection];
[assetChangeRequest addAssets:[NSArray arrayWithObject:req.placeholderForCreatedAsset]];
//[libReq addAssets:@[assetPlaceHolder]];
}completionHandler:^(BOOL success, NSError *error){
//Perform any necessary actions after adding the photo to the photo
//library
if(!success)
{
NSLog(@"didn't succeed, error: %@",error.localizedDescription);
}
}];
}
आपको लगता है कि ठीक करते हैं? – kondratyevdev
क्या आप हमें बता सकते हैं क्या लॉग में मुद्रित है? –
यहां कहीं भी एक त्रुटि हो सकती है मुझे लगता है कि स्वयं addPhotoToSavedPhotos: [image copy]]; ब्रेकपॉइंट को जोड़ने का प्रयास करें - (शून्य) addPhotoToSavedPhotos: (UIImage *) फोटो फ़ंक्शन और जांचें कि इस फ़ंक्शन में कोई फ़ोटो पास की जा रही है या नहीं। –