美文网首页大前端开发iOS DevelopmentiOS Developer
一个iOS的Framework和Bundle的使用问题

一个iOS的Framework和Bundle的使用问题

作者: link_hui | 来源:发表于2018-01-18 09:25 被阅读131次

今天使用一个第三方开发的库从pod引入方式改为源码导入,由于没有提供podspec文件按照惯例步骤如下:

  1. Podfile文件去掉引用,执行pod update

  2. xcodeproj文件添加到workspace中。编译出framework文件


  3. 在主target中的Build Phases->Link binary with libraries中添加对应的framework


  4. clean之后编译运行。遇到crash



    可以看到因为url为nil,导致[NSBundle bundleWithURL:] crash

5.查看发现原来对应的bundle文件没有添加到target中。添加前面第三方proj中product中的bundle文件后解决。


最后关于bundle的制作和使用可以参考bundle的生成和使用

附:查问题的过程中还遇到堆栈显示不完整的问题。整个crash堆栈中只有dispatch相关的调用。好在apple开源了GCD的源码.下载libdispatch
可以找到SIGABRT抛出的地方objc_terminate。应该是block执行有异常了。

void
_dispatch_client_callout(void *ctxt, dispatch_function_t f)
{
    @try {
        return f(ctxt);
    }
    @catch (...) {
        objc_terminate();
    }
}

相关文章

网友评论

    本文标题:一个iOS的Framework和Bundle的使用问题

    本文链接:https://www.haomeiwen.com/subject/srsioxtx.html