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)
}
swift uiimagepickercontroller
add a comment |
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)
}
swift uiimagepickercontroller
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
add a comment |
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)
}
swift uiimagepickercontroller
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
swift uiimagepickercontroller
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
add a comment |
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
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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