【问题标题】:including Kal.a (from Kal calendar) and including libidn.a (xmpp framework) causes app to crash包括 Kal.a(来自 Kal 日历)和包括 libidn.a(xmpp 框架)导致应用程序崩溃
【发布时间】:2012-06-14 18:32:00
【问题描述】:

在非常努力之后,我将在晚上 2 点在我的办公室发布这个问题。

问题是:

1) 我的应用程序中包含 Kal 日历 (link here)

2) 在我决定在我的应用程序中包含 xmpp 框架(xmpp framework) 之前,它确实运行良好。

3) 主要问题是当我尝试包含 libidn.a 文件然后编译项目时,它给了我 4 个错误,要删除这些错误,我必须删除“其他链接器标志 -> -all_load”。

4) 当我删除 -all_laod 标志并编译时,问题就开始了,应用程序编译成功。但我尝试运行我的应用程序并按日历按钮加载日历它崩溃并出现以下错误:

-[__NSDate cc_dateByMovingToFirstDayOfTheMonth]:无法识别的选择器发送到实例 0x75b85c0 2012-06-12 01:38:47.483 BizPro[10251:11903] * 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[__NSDate cc_dateByMovingToFirstDayOfTheMonth]: 无法识别的选择器发送到 实例 0x75b85c0' * 第一次抛出调用栈:(0x209e022 0x22f0cd6 0x209fcbd 0x2004ed0 0x2004cb2 0x12bc3d 0x12bb91 0x13149e 0x1315f6 0x12961 0xa8d38f 0xa8d5eb 0xa9dff1 0xa9e85f 0xa9e9e1 0xbbc5c2 0xa02d21 0x209fe42 0x856679 0x860579 0x7e54f7 0x7e73f6 0x874160 0x9d4f30 0x207299e 0x2009640 0x1fd54c6 0x1fd4d84 0x1fd4c9b 0x26e67d8 0x26e688a 0x9c4626 0x2a9d 0x2a15 0x1) 终止调用抛出异常(lldb)

4) 我很清楚这个错误是一种误导(NSDate 不会导致崩溃,但静态库的冲突正在这样做,我认为是这样),因为当我再次添加 -all_load 标志并删除 libidn 时。我的项目中的一个文件,它编译并成功运行,日历可以顺利显示我的数据。

我在谷歌上搜索了很多 .. 得到的指导很少 .. 将解决方案与工作区相关联等等 .. 但我真的不知道什么是解决方案 .. 请帮助我

谢谢

【问题讨论】:

  • unrecognized selector sent to instance 表示您尝试访问不可用或不存在的选择器。检查你的属性和合成。到你的观点 3.) 检查你的标题并尝试解决错误而不是删除它。
  • 我希望你想通了,至少你帮我解决了我的问题! all_load 标志没有设置为发布.. 所以现在应用商店中有一个崩溃的应用程序 -_-

标签: iphone ios5 xmpp static-libraries


【解决方案1】:
cc_dateByMovingToFirstDayOfTheMonth 

是对 NSDate 的补充,在 Kal 框架的 NSDateAdditions.h 中定义。

我遇到了无穷无尽的问题,想要对 Kal 框架进行更多定制,所以我只是将所有源代码拖到我的项目中。

如果你仍然对框架有问题,那么删除 Kal.a 并引入源代码 :) 然后你就可以弄脏它

【讨论】:

    【解决方案2】:

    如果您宁愿将 Kal 保留为子项目,解决此问题的方法是链接附加文件。

    项目 -> 构建设置 -> 链接 -> 其他链接器标志

    添加“-all_load”

    【讨论】:

      【解决方案3】:

      对不起,我回复晚了..

      我解决了问题..

      删除了 kal.a 文件,只包含了 src 文件夹(所有需要的头文件)

      这样我就不会和其他静态库发生冲突了……

      【讨论】:

        【解决方案4】:

        这里有类似的问题。因为我使用的是 Parse Framework,无法添加-all_load,所以集成静态库对我来说永远不起作用。最简单的方法是将src文件夹中的所有源文件添加到我自己的项目中,而不是添加Kal.xcodeproj。配置“复制捆绑文件”或“标头搜索路径”等的其他步骤仍然是必要的。我还需要将 Kal_Prefix.pch 中的这些行添加到我自己的 project.pch 中。

        #import "NSDate+Convenience.h"
        
        #define RGBCOLOR(R,G,B) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:1]
        #define RGBACOLOR(R,G,B,A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]
        #define kDarkGrayColor       RGBCOLOR(51, 51, 51)
        #define kGrayColor           RGBCOLOR(153, 153, 153)
        #define kLightGrayColor      RGBCOLOR(185, 185, 185)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-07-03
          • 2013-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多