美文网首页iOS经典
iOS开发库之(四):工程和库联调

iOS开发库之(四):工程和库联调

作者: KODIE | 来源:发表于2017-09-04 20:06 被阅读200次

    问题

    我们在使用这个自己创建库或者SDK的时候会遇到调试的问题,我们总可可能每次把framework或者.a静态库编译一次然后又拖进工程调试一次吧,这是不现实的,所以今天教大家怎样实现工程和库联调。

    解决

    方式有两种:工程内部拖入framework和相同workspace下调试

    第一种:工程内拖入framework

    首先新建我们的主工程KODDemo:

    Snip20170904_48.png Snip20170904_49.png

    再新建库工程KODSDKFramework,此处以framework为例:
    PS:这里是直接创建framework的,默认是动态库,详细请看:
    iOS开发库之(二):静态库Framework的创建
    iOS开发库之(一):动态库的创建和调试

    Snip20170904_50.png Snip20170904_51.png

    然后把库工程KODSDKFramework关闭掉,留下主工程KODDemo,如果主工程KODDemo关闭了,那么再次打开主工程KODDemo:

    Snip20170904_52.png

    进入刚刚的库工程KODSDKFramework文件目录,找到.xcodeproj这个文件:

    Snip20170904_55.png

    鼠标左键单击此工程文件KODSDKFramework并拖入到工程KODDemo中,如下:

    Snip20170904_56.png Snip20170904_57.png

    PS: 注意此处会出现截图中的小箭头是正常的,那么表示可以进行联调了,但是如果我们之前在打开库工程KODSDKFramework再拖入到工程中是会报错的,并且没有小箭头,所以一定要关掉KODSDKFramework工程,报错如下图:

    Snip20170904_60.png Snip20170904_59.png

    具体错误:

    /Users/KODIE/Desktop/KODSDKFramework/KODSDKFramework.xcodeproj Couldn't load KODSDKFramework.xcodeproj because it is already opened from another project or workspace
    

    遇到这个错误也不要怕很简单,就是一个工程不要同时打开嘛,那就把之前的库工程KODSDKFramework关掉,然后再次打开主工程KODDemo就好了,So easy!!!

    第二种:相同workspace下调试

    首先先创建一个workspace:

    Snip20170904_63.png Snip20170904_64.png Snip20170904_68.png

    创建主工程KODDemo和库工程KODSDKFramework因为以上第一种我们已经介绍了怎么创建那我们这里就省略了

    Snip20170904_67.png

    打开workspace,虽然毛都没有但是还是要打开:

    Snip20170904_69.png

    将主工程KODDemo和KODSDKFramework的.xcodeproj分别拖入到workspace中,注意这里两个工程是并齐的位置,并且拖入时要关闭KODDemo和KODSDKFramework工程:

    Snip20170904_70.png Snip20170904_71.png Snip20170904_73.png

    PS: 如果此时你把库工程KODSDKFramework拖入到如下的位置那么和第一种无异了:

    Snip20170904_74.png

    配置:

    好的,新建好工程和拖入之后没问题那就是要做下配置了,配置很简单都是在主工程KODDemo中配置如下的配置即可(方式一二皆是如此):

    第一种:
    Snip20170904_76.png Snip20170904_77.png Snip20170904_78.png
    第二种:
    Snip20170904_79.png Snip20170904_80.png Snip20170904_81.png

    这样就配置完了,但是请注意我们每编辑一次库就需要编译一次库,然后再运行主工程才能看到效果,要不然还是上次编译成功的库的效果。

    使用中遇到的问题:

    当我们在进行库和工程联调的时候,如果出现如下报错:

    Snip20170904_82.png

    具体错误:

    /Users/KODIE/Desktop/KODDemo/KODDemo/ViewController.m:10:9: Could not build module 'KODSDKFramework'
    

    遇到这个问题一般都是以下问题造成的:

    Snip20170904_83.png

    改成以下即可,因为这个公开的文件就是暴露的头文件,而这个头文件中引用了我们其他的文件,但是其他的文件并没有暴露出来就会有问题:

    Snip20170904_84.png

    记得改完之后编译以下库,然后再编译运行主工程就OK了。

    相关文章

      网友评论

        本文标题:iOS开发库之(四):工程和库联调

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