저는 사진 편집 확장 프로그램을 만들고 PHAdjustmentData의 변경 사항에 대한 정보를 저장하여 나중에 사용자가 수정할 수 있도록하고 싶습니다. 필자는 필요한 모든 데이터를 PHAdjustmentData에 저장하지만, 다음에 이미지를 편집 할 때 - PHAdjustmentData는 nil입니다. 내가 다음에 사용자가 이미지를 편집 액세스 할 수 있도록PHAdjustmentData는 "startContentEditingWithInput"에서 nil입니다.
@property (strong, nonatomic) PHContentEditingOutput *output;
- (void)startContentEditingWithInput:(PHContentEditingInput *)contentEditingInput placeholderImage:(UIImage *)placeholderImage
{
self.output = [[PHContentEditingOutput alloc] initWithContentEditingInput:contentEditingInput];
// here contentEditingInput.adjustmentData is always nil
}
- (void)finishContentEditingWithCompletionHandler:(void (^)(PHContentEditingOutput *))completionHandler
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"value1" forKey:@"key1"];
[dict setObject:@"value2" forKey:@"key2"];
NSData *adjData = [NSKeyedArchiver archivedDataWithRootObject:dict];
PHAdjustmentData *phAdjData = [[PHAdjustmentData alloc] initWithFormatIdentifier:@"ident" formatVersion:@"1.0" data:adjData];
self.output.adjustmentData = phAdjData;
NSData *data = UIImageJPEGRepresentation(result, 1.0);
[data writeToURL:self.output.renderedContentURL options:NSDataWritingAtomic error:nil];
completionHandler(self.output);
}
가 어떻게 제대로 조정 데이터를 저장합니까 : 여기 은 샘플 코드? 감사!
['canHandleAdjustmentData'] (https://developer.apple.com/library/ios/documentation/PhotosUI/Reference/PHContentEditingController_Protocol/index.html#//apple_ref/occ/intfm/PHContentEditingController/canHandleAdjustmentData :) 자신의 조정 데이터 형식을 감지하면 YES를 반환합니까? – rickster
그게 전부 였어. 방금 프로젝트를 만들었을 때 canHandleAdjustmentData를 NO로 설정하고 완전히 잊었습니다. 고마워요! – almas
좋습니다. 솔루션을 답으로 이동하십시오. – rickster