Swift / SKStoreProductViewController pushViewController results in (lldb)

To push the user to the iTunes store for desired items I’m using the following function:

func openStoreProductWithiTunesItemIdentifier(identifier: String) {

    let storeViewController = SKStoreProductViewController()
    storeViewController.delegate = self

    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier, SKStoreProductParameterAffiliateToken : ITUNES_AFFILIATE_ID]
    storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in
        if loaded {

            self!.navigationController?.pushViewControllerWithHandler(storeViewController, animated: true) {

                LilithProgressHUD.hide() // custom progress hud
            }
        }
    }
}

extension UINavigationController {

    func pushViewControllerWithHandler(viewController: UIViewController, animated: Bool, completion: Void -> Void) {

        CATransaction.begin()
        CATransaction.setCompletionBlock(completion)
        pushViewController(viewController, animated: animated)
        CATransaction.commit()
    }
}

Called by

  • How to test SKPaymentTransactionStateDeferred?
  • Borders not covering background
  • Error “Call can throw, but is not marked with 'try' and the error is not handled”
  • IOS7, Segue and storyboards - How to create without a button?
  • iOS AVFoundation - Converting video into images at 60 fps
  • How to add the text in UIImageView in Swift?
  • let trackID = "thisIsMyTrackID"
    openStoreProductWithiTunesItemIdentifier(trackID)
    

    This results in

    enter image description here
    enter image description here
    enter image description here

    If I’m instead of:

    self!.navigationController?.pushViewControllerWithHandler(storeViewController, animated: true) {
    
                LilithProgressHUD.hide() // custom progress hud
            }
    

    Using:

    self?.presentViewController(storeViewController, animated: true, completion: {
                LilithProgressHUD.hide() // custom progress hud
            })
    

    , it is working. But I need the controller to push within the navigationController to fit the rest of the views and animations. What am I missing? Help is very appreciated.

    Backtrace as requested:

        (lldb) bt all
    * thread #1: tid = 0x9bb48, 0x000000018fcac524 libobjc.A.dylib`objc_exception_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
        frame #0: 0x000000018fcac524 libobjc.A.dylib`objc_exception_throw
        frame #1: 0x0000000191274108 CoreFoundation`+[NSException raise:format:] + 116
        frame #2: 0x000000019dca04d0 StoreKit`-[SKStoreProductViewController _throwUnsupportedPresentationException] + 76
        frame #3: 0x000000019dc9ed24 StoreKit`-[SKStoreProductViewController willMoveToParentViewController:] + 108
        frame #4: 0x0000000197159174 UIKit`-[UIViewController _addChildViewController:performHierarchyCheck:notifyWillMove:] + 568
        frame #5: 0x000000019714f580 UIKit`-[UINavigationController pushViewController:transition:forceImmediate:] + 1220
        frame #6: 0x000000019714f06c UIKit`-[UINavigationController pushViewController:animated:] + 652
      * frame #7: 0x00000001000a32f4 cya`UINavigationController.pushViewControllerWithHandler(viewController=0x00000001028ae9c0, animated=true, completion=0x00000001000a35c4 cya`partial apply forwarder for reabstraction thunk helper from @callee_unowned @convention(block) () -> (@unowned ()) to @callee_owned () -> (@unowned ()) with unmangled suffix ".16" at UINavigationControllerExtensions.swift, self=0x0000000103844600) -> ()) -> () + 504 at UINavigationControllerExtensions.swift:24
        frame #8: 0x00000001000a3578 cya`@objc UINavigationController.pushViewControllerWithHandler(UIViewController, animated : Bool, completion : () -> ()) -> () + 196 at UINavigationControllerExtensions.swift:0
        frame #9: 0x00000001001b04f4 cya`DJProfileAsUserMusicTableVC.(loaded=true, error=nil, self=0x0000000102a358d0, storeViewController=0x00000001028ae9c0) -> ()).(closure #1) + 416 at DJProfileAsUserMusicTableVC.swift:697
        frame #10: 0x00000001001b0654 cya`thunk + 56 at DJProfileAsUserMusicTableVC.swift:0
        frame #11: 0x00000001001b0714 cya`thunk + 36 at DJProfileAsUserMusicTableVC.swift:0
        frame #12: 0x00000001001b0804 cya`thunk + 80 at DJProfileAsUserMusicTableVC.swift:0
        frame #13: 0x000000019dc9fb84 StoreKit`-[SKStoreProductViewController _loadDidFinishWithResult:error:] + 92
        frame #14: 0x000000019127a160 CoreFoundation`__invoking___ + 144
        frame #15: 0x000000019116dc3c CoreFoundation`-[NSInvocation invoke] + 284
        frame #16: 0x0000000192e158bc FrontBoardServices`__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
        frame #17: 0x0000000192e15728 FrontBoardServices`-[FBSSerialQueue _performNext] + 176
        frame #18: 0x0000000192e15ad0 FrontBoardServices`-[FBSSerialQueue _performNextFromRunLoopSource] + 56
        frame #19: 0x0000000191222278 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
        frame #20: 0x0000000191221bc0 CoreFoundation`__CFRunLoopDoSources0 + 524
        frame #21: 0x000000019121f7c0 CoreFoundation`__CFRunLoopRun + 804
        frame #22: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #23: 0x0000000192bd1198 GraphicsServices`GSEventRunModal + 180
        frame #24: 0x0000000197128628 UIKit`-[UIApplication _run] + 684
        frame #25: 0x0000000197123360 UIKit`UIApplicationMain + 208
        frame #26: 0x000000010020c08c cya`main + 144 at AppDelegate.swift:19
        frame #27: 0x00000001901305b8 libdyld.dylib`start + 4
    
      thread #3: tid = 0x9bbc9, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #4: tid = 0x9bbca, 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread
        frame #0: 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread
    
      thread #7: tid = 0x9bbdc, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x17403cde0'
        frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8
        frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212
        frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64
        frame #3: 0x00000001025adeb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136
        frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #8: tid = 0x9bbef, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x170220020'
        frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8
        frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212
        frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64
        frame #3: 0x00000001025adeb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136
        frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #9: tid = 0x9bbf4, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
        frame #6: 0x0000000191c7d60c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 96
        frame #7: 0x0000000197a9dc7c UIKit`-[UIEventFetcher threadMain] + 136
        frame #8: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #9: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #10: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #11: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #12: tid = 0x9bbfb, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x000000019193bcec CFNetwork`+[NSURLConnection(Loader) _resourceLoadLoop:] + 336
        frame #6: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #14: tid = 0x9bbfd, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x00000001aa8f1fe8 AVFAudio`GenericRunLoopThread::Entry(void*) + 164
        frame #6: 0x00000001aa917f14 AVFAudio`CAPThread::Entry(CAPThread*) + 84
        frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #17: tid = 0x9bc0f, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.squareup.SocketRocket.NetworkThread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
        frame #6: 0x00000001003f57ec cya`-[_FSRRunLoopThread main](self=0x00000001740918f0, _cmd=<unavailable>) + 252 at FSRWebSocket.m:1838
        frame #7: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #8: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #9: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #10: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #18: tid = 0x9bc21, 0x000000019024223c libsystem_kernel.dylib`__select + 8, name = 'com.apple.CFSocket.private'
        frame #0: 0x000000019024223c libsystem_kernel.dylib`__select + 8
        frame #1: 0x0000000191228b84 CoreFoundation`__CFSocketManager + 640
        frame #2: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #3: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #4: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #19: tid = 0x9bc70, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #20: tid = 0x9bc77, 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread
        frame #0: 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread
    
      thread #21: tid = 0x9bc78, 0x0000000000000000
        frame #0: 0x0000000000000000
    (lldb)
    

    Backtrace without exception breakpoint:

    (lldb) bt all
    warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.
    * thread #1: tid = 0x9c221, 0x0000000190242014 libsystem_kernel.dylib`__pthread_kill + 8, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
        frame #0: 0x0000000190242014 libsystem_kernel.dylib`__pthread_kill + 8
        frame #1: 0x0000000190309460 libsystem_pthread.dylib`pthread_kill + 112
        frame #2: 0x00000001901b63f4 libsystem_c.dylib`abort + 140
        frame #3: 0x000000018fc812d4 libc++abi.dylib`abort_message + 132
        frame #4: 0x000000018fc9ecc0 libc++abi.dylib`default_terminate_handler() + 304
        frame #5: 0x000000018fcac844 libobjc.A.dylib`_objc_terminate() + 124
        frame #6: 0x000000018fcac844 libobjc.A.dylib`_objc_terminate() + 124
        frame #7: 0x000000018fc9b66c libc++abi.dylib`std::__terminate(void (*)()) + 16
        frame #8: 0x000000018fc9b234 libc++abi.dylib`__cxa_rethrow + 144
        frame #9: 0x000000018fcac71c libobjc.A.dylib`objc_exception_rethrow + 44
        frame #10: 0x000000019114e0bc CoreFoundation`CFRunLoopRunSpecific + 560
        frame #11: 0x0000000192bd1198 GraphicsServices`GSEventRunModal + 180
        frame #12: 0x0000000197128628 UIKit`-[UIApplication _run] + 684
        frame #13: 0x0000000197123360 UIKit`UIApplicationMain + 208
      * frame #14: 0x00000001001e408c cya`main + 144 at AppDelegate.swift:19
        frame #15: 0x00000001901305b8 libdyld.dylib`start + 4
    
      thread #5: tid = 0x9c29d, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #7: tid = 0x9c2a7, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x174036a80'
        frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8
        frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212
        frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64
        frame #3: 0x000000010257deb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136
        frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #8: tid = 0x9c2b2, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x1740366c0'
        frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8
        frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212
        frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64
        frame #3: 0x000000010257deb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136
        frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #9: tid = 0x9c2b6, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
        frame #6: 0x0000000191c7d60c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 96
        frame #7: 0x0000000197a9dc7c UIKit`-[UIEventFetcher threadMain] + 136
        frame #8: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #9: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #10: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #11: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #10: tid = 0x9c2b7, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #12: tid = 0x9c2bf, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x000000019193bcec CFNetwork`+[NSURLConnection(Loader) _resourceLoadLoop:] + 336
        frame #6: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #14: tid = 0x9c2c3, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x00000001aa8f1fe8 AVFAudio`GenericRunLoopThread::Entry(void*) + 164
        frame #6: 0x00000001aa917f14 AVFAudio`CAPThread::Entry(CAPThread*) + 84
        frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #15: tid = 0x9c2cc, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.squareup.SocketRocket.NetworkThread'
        frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8
        frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72
        frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192
        frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132
        frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444
        frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
        frame #6: 0x00000001003cd7ec cya`-[_FSRRunLoopThread main](self=0x0000000170097c00, _cmd=<unavailable>) + 252 at FSRWebSocket.m:1838
        frame #7: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024
        frame #8: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #9: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #10: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #16: tid = 0x9c2d8, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #18: tid = 0x9c2e8, 0x000000019024223c libsystem_kernel.dylib`__select + 8, name = 'com.apple.CFSocket.private'
        frame #0: 0x000000019024223c libsystem_kernel.dylib`__select + 8
        frame #1: 0x0000000191228b84 CoreFoundation`__CFSocketManager + 640
        frame #2: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240
        frame #3: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284
        frame #4: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4
    
      thread #19: tid = 0x9c355, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #20: tid = 0x9c35f, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    
      thread #21: tid = 0x9c360, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8
        frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968
        frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4
    (lldb) 
    

    Solutions Collect From Internet About “Swift / SKStoreProductViewController pushViewController results in (lldb)”

    The exception and stack trace tell you that the store view controller isn’t happy about being pushed into a nav stack. Your test shows it is happy being presented. From the documentation:

    present the view controller modally from another view controller in your app

    So, you should present it modally.

    While it’s possible that you could perhaps make it work in some other way it’s likely to break in the future if you don’t follow the (inconvenient) guidelines.