线程1:自定义框架Swift中Reachability框架中的signal SIGABRT

Posted

技术标签:

【中文标题】线程1:自定义框架Swift中Reachability框架中的signal SIGABRT【英文标题】:Thread 1: signal SIGABRT in Reachability framework in custom framework Swift 【发布时间】:2018-09-06 14:35:08 【问题描述】:

我开发了一个自定义框架,并使用了通过“Carthage”导入的“Reachability”框架。

当我将自定义框架导入我的应用项目时,它可以毫无问题地构建,但应用在使用时会崩溃。它发生在自定义框架尝试初始化或调用任何静态变量时。

有什么想法吗?

已编辑: 当我在我的自定义框架内执行时发生崩溃:

 private override init() 

    reachability = Reachability()

 

从我的应用调用:

let ohObject = OpenHomeObject.shared

我的自定义框架的 Carthage 依赖项是根据文档设置的。

崩溃日志显示:

dyld`__abort_with_payload:
    0x104a4e2f0 <+0>:  mov    x16, #0x209
    0x104a4e2f4 <+4>:  svc    #0x80
->  0x104a4e2f8 <+8>:  b.lo   0x104a4e310               ; <+32>
    0x104a4e2fc <+12>: stp    x29, x30, [sp, #-0x10]!
    0x104a4e300 <+16>: mov    x29, sp
    0x104a4e304 <+20>: bl     0x104a4d990               ; cerror_nocancel
    0x104a4e308 <+24>: mov    sp, x29
    0x104a4e30c <+28>: ldp    x29, x30, [sp], #0x10
    0x104a4e310 <+32>: ret    

【问题讨论】:

请将您的崩溃日志添加到问题中,以及失败的代码 请查看更新后的问题。 您是否尝试过直接添加Reachability.swift 文件(不使用Carthage)? 我没有,但由于我也在使用其他库,例如“SWXMLHash.framework”,它也会崩溃,我决定使用依赖管理器。 似乎不支持在“cocoa touch framework”中使用cocoapods...***.com/questions/35927109/… 【参考方案1】:

我终于解决了这个问题。我终于使用了 Carthage,This Question (Also mine) 的回答解决了完全集成问题

【讨论】:

以上是关于线程1:自定义框架Swift中Reachability框架中的signal SIGABRT的主要内容,如果未能解决你的问题,请参考以下文章

构建 TensorFlowLite Swift 自定义框架

在自定义 Swift 框架中的 Objective-C 文件上使用 Swift

为啥应用存档在 iOS、swift、xcode 9.2 中使用自定义框架失败

将纯 Swift 自定义框架导入其他 Swift 项目

用于自定义 swift 框架的 Sqlite

ionic cordova build ios 使用 xcode swift 3 框架安装自定义插件失败