We have this app that was built in 2013. Recently I have been tasked with making it live again. Is there an easy way to make the app work with current devices? Are there any good resources that can help explain what I am trying to accomplish?
Deprecated ios Application
Is it your app, I mean do you have full source code ?
If so, can you open it in a recent Xcode version ?
What tools did you original use to build this app? Xcode? Or something else?
And what version of those tools?
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Built on xcode 3.2, in objective-c, for ios 10.1
Built on xcode 3.2, in objective-c, for ios 10.1
OK, that’s not too old.
If you try to open your project with a modern version of Xcode, what does it report?
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
The main thing is the deprecation warning that sya " UIWebView is deprecated - please adopt WKWebView" and that is for several different methods. Then semantic issues that say "Implementing deprecated method"
Details
Failed to prepare device for development. Domain: com.apple.dtdevicekit Code: 806 Recovery Suggestion: This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You may also need to restart your mac and device in order to correctly detect compatibility. User Info: { AssociatedMobileDeviceFunction = AMDeviceMountImage; DVTErrorCreationDateKey = "2022-02-07 23:53:56 +0000"; DVTRadarComponentKey = 487927; NSLocalizedFailure = "Could not support development."; } Could not support development. Domain: com.apple.dt.MobileDeviceErrorDomain Code: -402653066 User Info: { DVTRadarComponentKey = 261622; MobileDeviceErrorCode = "(0xE8000076)"; "com.apple.dtdevicekit.stacktrace" = ( 0 DTDeviceKitBase 0x0000000117708076 DTDKCreateNSErrorFromAMDErrorCode + 220 1 DTDeviceKitBase 0x000000011774434c -[DTDKMobileDeviceToken _mountDeveloperDiskImage:withError:] + 877 2 DTDeviceKitBase 0x0000000117744e24 __58-[DTDKMobileDeviceToken mountDeveloperDiskImageWithError:]_block_invoke + 614 3 libdispatch.dylib 0x00007ff807b6ccc9 _dispatch_client_callout + 8 4 libdispatch.dylib 0x00007ff807b7a13f _dispatch_lane_barrier_sync_invoke_and_complete + 60 5 DTDeviceKitBase 0x0000000117744b5e -[DTDKMobileDeviceToken mountDeveloperDiskImageWithError:] + 185 6 IDEiOSSupportCore 0x00000001175f37a1 __37-[DVTiOSDevice(Connect) hasConnected]_block_invoke_2 + 141 7 DVTFoundation 0x000000010ee8098b DVT_CALLING_CLIENT_BLOCK + 7 8 DVTFoundation 0x000000010ee84566 __DVTDispatchGroupAsync_block_invoke + 931 9 libdispatch.dylib 0x00007ff807b6bad8 _dispatch_call_block_and_release + 12 10 libdispatch.dylib 0x00007ff807b6ccc9 _dispatch_client_callout + 8 11 libdispatch.dylib 0x00007ff807b6f7be _dispatch_continuation_pop + 580 12 libdispatch.dylib 0x00007ff807b6eded _dispatch_async_redirect_invoke + 716 13 libdispatch.dylib 0x00007ff807b7c3ba _dispatch_root_queue_drain + 343 14 libdispatch.dylib 0x00007ff807b7cb5a _dispatch_worker_thread2 + 160 15 libsystem_pthread.dylib 0x00007ff807d2002e _pthread_wqthread + 256 16 libsystem_pthread.dylib 0x00007ff807d1effb start_wqthread + 15 ); }System Information
macOS Version 12.1 (Build 21C52) Xcode 13.2.1 (19586) (Build 13C100) Timestamp: 2022-02-07T15:53:56-08:00
Right. We’ve deprecated UIWebView in favour of WKWebView, and for good reason [1]. UIWebView still works but using it will likely cause you problems down the line (most notably with App Review). My advice is that you leave your UIWebView code in place while you get your app building with modern tools and running on modern systems. Once you’re reached a stable baseline, you can tackle replacing UIWebView with WKWebView.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] If you’re curious, we explained thin in WWDC 2018 Session 207 Strategies for Securing Web Content.