UIImagePickerController Memory Leak Issue, .camera is good, but not for .photoLibrary











up vote
0
down vote

favorite












UIImagePickerController Memory Leak Issue, .camera is good, but not for .photoLibrary



Here is the code:



func PickLibraryTapped() {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let LibraryPhotoPicker = UIImagePickerController()
LibraryPhotoPicker.sourceType = .photoLibrary
LibraryPhotoPicker.delegate = self
LibraryPhotoPicker.allowsEditing = false
self.present(LibraryPhotoPicker, animated: true, completion: nil)
}
else
{
print("模拟其中无法打开照相机,请在真机中使用");
}
}


Delegate method:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let info = convertFromUIImagePickerControllerInfoKeyDictionary(info)
let pickedImage = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.originalImage)] as! UIImage
picker.dismiss(animated: true, completion:nil)
}


Errors:
Device popup a alertview indicating that "Memory Leak" and "Object Deallocated" (UIImagePickerController)



In case that UIImagePickerController should not be dealloced, override -willDealloc in UIImagePickerController by returning NO.


UPDATE!!!:



Problem Solved:
The Issue was raised because pod "MLeakFinder" been used, after Unistall MLeakFinder the pop up alert is gone. The Code has no error.



Reminder:
convertFromUIImagePickerControllerInfoKeyDictionary is no more use in this code.
Should Try Below:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[.originalImage] as? UIImage {
//Do something you need
}
self.dismiss(animated: true, completion: nil)
}









share|improve this question
























  • Can you provide more information for this??
    – Anand Kore
    Nov 21 at 11:17










  • For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
    – Gang
    Nov 22 at 1:25










  • If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
    – Anand Kore
    Nov 22 at 7:06















up vote
0
down vote

favorite












UIImagePickerController Memory Leak Issue, .camera is good, but not for .photoLibrary



Here is the code:



func PickLibraryTapped() {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let LibraryPhotoPicker = UIImagePickerController()
LibraryPhotoPicker.sourceType = .photoLibrary
LibraryPhotoPicker.delegate = self
LibraryPhotoPicker.allowsEditing = false
self.present(LibraryPhotoPicker, animated: true, completion: nil)
}
else
{
print("模拟其中无法打开照相机,请在真机中使用");
}
}


Delegate method:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let info = convertFromUIImagePickerControllerInfoKeyDictionary(info)
let pickedImage = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.originalImage)] as! UIImage
picker.dismiss(animated: true, completion:nil)
}


Errors:
Device popup a alertview indicating that "Memory Leak" and "Object Deallocated" (UIImagePickerController)



In case that UIImagePickerController should not be dealloced, override -willDealloc in UIImagePickerController by returning NO.


UPDATE!!!:



Problem Solved:
The Issue was raised because pod "MLeakFinder" been used, after Unistall MLeakFinder the pop up alert is gone. The Code has no error.



Reminder:
convertFromUIImagePickerControllerInfoKeyDictionary is no more use in this code.
Should Try Below:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[.originalImage] as? UIImage {
//Do something you need
}
self.dismiss(animated: true, completion: nil)
}









share|improve this question
























  • Can you provide more information for this??
    – Anand Kore
    Nov 21 at 11:17










  • For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
    – Gang
    Nov 22 at 1:25










  • If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
    – Anand Kore
    Nov 22 at 7:06













up vote
0
down vote

favorite









up vote
0
down vote

favorite











UIImagePickerController Memory Leak Issue, .camera is good, but not for .photoLibrary



Here is the code:



func PickLibraryTapped() {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let LibraryPhotoPicker = UIImagePickerController()
LibraryPhotoPicker.sourceType = .photoLibrary
LibraryPhotoPicker.delegate = self
LibraryPhotoPicker.allowsEditing = false
self.present(LibraryPhotoPicker, animated: true, completion: nil)
}
else
{
print("模拟其中无法打开照相机,请在真机中使用");
}
}


Delegate method:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let info = convertFromUIImagePickerControllerInfoKeyDictionary(info)
let pickedImage = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.originalImage)] as! UIImage
picker.dismiss(animated: true, completion:nil)
}


Errors:
Device popup a alertview indicating that "Memory Leak" and "Object Deallocated" (UIImagePickerController)



In case that UIImagePickerController should not be dealloced, override -willDealloc in UIImagePickerController by returning NO.


UPDATE!!!:



Problem Solved:
The Issue was raised because pod "MLeakFinder" been used, after Unistall MLeakFinder the pop up alert is gone. The Code has no error.



Reminder:
convertFromUIImagePickerControllerInfoKeyDictionary is no more use in this code.
Should Try Below:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[.originalImage] as? UIImage {
//Do something you need
}
self.dismiss(animated: true, completion: nil)
}









share|improve this question















UIImagePickerController Memory Leak Issue, .camera is good, but not for .photoLibrary



Here is the code:



func PickLibraryTapped() {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let LibraryPhotoPicker = UIImagePickerController()
LibraryPhotoPicker.sourceType = .photoLibrary
LibraryPhotoPicker.delegate = self
LibraryPhotoPicker.allowsEditing = false
self.present(LibraryPhotoPicker, animated: true, completion: nil)
}
else
{
print("模拟其中无法打开照相机,请在真机中使用");
}
}


Delegate method:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let info = convertFromUIImagePickerControllerInfoKeyDictionary(info)
let pickedImage = info[convertFromUIImagePickerControllerInfoKey(UIImagePickerController.InfoKey.originalImage)] as! UIImage
picker.dismiss(animated: true, completion:nil)
}


Errors:
Device popup a alertview indicating that "Memory Leak" and "Object Deallocated" (UIImagePickerController)



In case that UIImagePickerController should not be dealloced, override -willDealloc in UIImagePickerController by returning NO.


UPDATE!!!:



Problem Solved:
The Issue was raised because pod "MLeakFinder" been used, after Unistall MLeakFinder the pop up alert is gone. The Code has no error.



Reminder:
convertFromUIImagePickerControllerInfoKeyDictionary is no more use in this code.
Should Try Below:



func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[.originalImage] as? UIImage {
//Do something you need
}
self.dismiss(animated: true, completion: nil)
}






swift uiimagepickercontroller






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 at 3:54

























asked Nov 21 at 9:55









Gang

12




12












  • Can you provide more information for this??
    – Anand Kore
    Nov 21 at 11:17










  • For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
    – Gang
    Nov 22 at 1:25










  • If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
    – Anand Kore
    Nov 22 at 7:06


















  • Can you provide more information for this??
    – Anand Kore
    Nov 21 at 11:17










  • For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
    – Gang
    Nov 22 at 1:25










  • If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
    – Anand Kore
    Nov 22 at 7:06
















Can you provide more information for this??
– Anand Kore
Nov 21 at 11:17




Can you provide more information for this??
– Anand Kore
Nov 21 at 11:17












For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
– Gang
Nov 22 at 1:25




For .camera it works fine , but for .photolibrary UIImagePickerController dealloced right after UIImagePickerController.dismiss been called. no idea why is that
– Gang
Nov 22 at 1:25












If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
– Anand Kore
Nov 22 at 7:06




If you need "let LibraryPhotoPicker = UIImagePickerController()" even after dismissing it!! then declare it globally.
– Anand Kore
Nov 22 at 7:06

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409415%2fuiimagepickercontroller-memory-leak-issue-camera-is-good-but-not-for-photoli%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409415%2fuiimagepickercontroller-memory-leak-issue-camera-is-good-but-not-for-photoli%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

What visual should I use to simply compare current year value vs last year in Power BI desktop

How to ignore python UserWarning in pytest?

Alexandru Averescu