Hi
I am migrating UIImagePickerController to PHPickerViewController but when I select an image within delegate pickerDidFinishMethod method, it should be PHPickerResult object in the NSArray but i got NsObject.
what am I doing wrong? Here is my code :
PHPickerConfiguration config = PHPickerConfiguration.alloc().init();
config.setSelectionLimit(1);
config.setFilter(PHPickerFilter.imagesFilter());
PHPickerViewController picker =
PHPickerViewController.alloc().initWithConfiguration(config);
picker.setDelegate(this);
presentViewControllerAnimatedCompletion(picker,true,null);
Delegate :
@Override
public void pickerDidFinishPicking(@NotNull PHPickerViewController picker, @NotNull NSArray<? extends PHPickerResult> results) {
picker.dismissViewControllerAnimatedCompletion(true,null);
if (results.count() == 0) return;
NSObject resultOrg = results.get(0);
PHPickerResult result = (PHPickerResult) resultOrg;
NSItemProvider provider = result.itemProvider();
if (provider.canLoadObjectOfClass(UIImage.new_objc())) {
provider.loadObjectOfClassCompletionHandler(UIImage.new_objc(), new NSItemProvider.Block_loadObjectOfClassCompletionHandler() {
@Override
public void call_loadObjectOfClassCompletionHandler(@Nullable Object object, @Nullable NSError error) {
UIImage image = (UIImage) object;
}
});
}
}
Error:
java.lang.ClassCastException: apple.NSObject cannot be cast to apple.photosui.PHPickerResult