Intermediate iOS Debugging - Part 3: Logging | Ray Wenderlich Videos

Use breakpoints to add new logging without having to stop, add code, and recompile.

This is a companion discussion topic for the original entry at

Jerry - this intermediate course is great - I picked up a few things from your beginner course, but had used most of those items. Glad you are adding this second course - lots of useful information. Minor issue - at exactly the 1:00 mark, there’s a typo in the closed caption: “Before you take this blog through the process,” should be “Before you take this bug through the process,”

OSlog is what would be the most interesting thing to see. For example how to save the logs on the device to inspect later. And you said it is outside of the scope of this course. Eh.

In Demo console:can’t load image
“[BoringSSL] Function boringssl_session_errorlog: line 2881 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert”

None of the “BoringSSL” error messages are important, I think. In the latest version of Xcode, I did have to make a change to PhotoModel. Change line 47 to this:

let urlString = (photoDictionary["image_url"] as? [String])?.first ?? ""

I don’t know if the images API changed or what, but the url is an array, not just a string.

The url in the example material is not working currently and the response json is empty and it is making app crash.

@jerbeers Can you please help with this when you get a chance? Thank you - much appreciated! :]

Did you make the change mentioned above?

@jerbeers The change mentioned above doesn’t fix the crash because of this:
{“error”:“Application is deactivated, please contact us by email:”,“status”:403}

I think following “// PLEASE REQUEST YOUR OWN 500PX CONSUMER KEY” in addition to the change mentioned above should fix the problem :]

Yeah, 500px shut down free API access. I’ve contacted them and will be working on a fix for this. Sorry for the trouble.

I uploaded new code to this repo: The line numbers may not match, but most of the project is fundamentally the same, just with a new API.