gpt4 book ai didi

ios - 线程 1 : SIGABRT when using pushPaymentMethodsViewController() from Stripe

转载 作者:行者123 更新时间:2023-11-28 14:31:14 26 4
gpt4 key购买 nike

我正在尝试从我的 ios 应用程序中推送 Swift PaymentMethodsViewController()。 Swift 文档建议使用以下代码执行此操作:

self.paymentContext.pushPaymentMethodsViewController()

当我运行这段代码时,我得到:

Thread 1: signal SIGABRT

通常这意味着 Storyboard 中的设置不正确。我已经测试过删除 pushPaymentMethodsViewController() 行以确保我没有遇到旧连接问题,并且没有收到任何错误,这让我认为问题与行直接相关:

self.paymentContext.pushPaymentMethodsViewController()

我正在为这个应用程序使用 Storyboard。我是否必须在 Storyboard 中进行任何设置才能使其正常工作?我认为我的委托(delegate)功能设置正确。关于如何解决这个问题的任何想法?尝试清理并重新运行,但没有成功。

这是调试器的完整输出。我没有发现它特别有用,但在评论中要求它:

libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x0000000110cfbb6e libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x0000000110d35080 libsystem_pthread.dylib`pthread_kill + 333
frame #2: 0x0000000110956c97 libsystem_c.dylib`abort + 127
frame #3: 0x00000001106e4e6f libc++abi.dylib`abort_message + 245
frame #4: 0x00000001106e500b libc++abi.dylib`default_terminate_handler() + 265
frame #5: 0x000000010b71f2ae libobjc.A.dylib`_objc_terminate() + 97
frame #6: 0x00000001107020ae libc++abi.dylib`std::__terminate(void (*)()) + 8
frame #7: 0x0000000110701d56 libc++abi.dylib`__cxa_rethrow + 99
frame #8: 0x000000010b71f1cc libobjc.A.dylib`objc_exception_rethrow + 40
frame #9: 0x000000010f6d3399 CoreFoundation`CFRunLoopRunSpecific + 777
frame #10: 0x00000001147baa73 GraphicsServices`GSEventRunModal + 62
frame #11: 0x000000010c242057 UIKit`UIApplicationMain + 159
* frame #12: 0x000000010aaa06c7 Spotbirdparking`main at AppDelegate.swift:14
frame #13: 0x0000000110884955 libdyld.dylib`start + 1
frame #14: 0x0000000110884955 libdyld.dylib`start + 1
(lldb)

最佳答案

SIGABRT 是否在调用 pushPaymentMethodsViewController() 后立即触发?

如果可以,您可以在您调用的 View Controller 中检查一下:

self.paymentContext.pushPaymentMethodsViewController()

hostViewController property在您的 paymentContext 实例上正确设置如下(在您创建 paymentContext 实例之后):

self.paymentContext.hostViewController = self

如果这没有帮助,我建议设置一个断点,您可以在调用 pushPaymentMethodsViewController() 的地方设置一个断点,然后介入调用以检查失败的确切位置。

关于ios - 线程 1 : SIGABRT when using pushPaymentMethodsViewController() from Stripe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51236868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com