• iOS SDK开发(Framework篇关联核心SDK工程和测试工程)


    前言:最近接手公司的SDK开发任务,以前开发的SDK内部不涉及第三方的静态库,还算顺利,这次要求在SDK内部集成微信支付和支付宝支付功能,需要在SDK内部集成第三方静态库,下面开始集成。

    由于Framework 静态库开发,我们不可能每写一句代码,就打包.Framework,再集成到测试项目中看实际效果,所以我采用workspace的方式,多个工程集成到一个工作空间。

    首先,在目录中新建一个workspace如图

     

    接着在同级目录下再创建一个新的普通工程 LoveGameSDKDevelop,用于在开发过程中测试SDK内部代码

    然后在同级目录下再创建一个新的工程,这里选择Framework静态库如图

     这个工程里就是我们用来编写SDK内部的核心代码

    然后打开上面创建的工作空间,通过Add的方式将两个工程都添加进去,效果如图

     将LGSDK内的没用文件删掉,创建一个以SDK名称命名的类,LGSDK

     接下来,将测试开发工程和SDK工程关联起来

     配置下我们的SDK打包时暴露出哪些外部头文件

     如图,在选项Public下的头文件就是我们打包后暴露出的头文件。

    这样还是不够的,还要再修改头文件索引路径Header Search Paths

     将后面的值修改为LGSDK工程文件的路径,这样就将两个工程关联起来了,后续开发中就可以边在LGSDK中修改静态库核心代码,边在LGSDKDevelop中运行查看效果了,相当方便。

    最后一个注意点,也是最重要的,由于.Framework库有可能是静态库也可能是动态库,默认情况下编译器认为是动态库,所以需要配置Build Settings

    ok,测试一下,在LGSDK.h文件中定义一个hello方法,在实现文件里只做一个简单打印,然后在LGSDKDevelop工程的ViewController.m中包含LGSDK.h,用#import+双引号或者+书名号都可以,最后在viewDidLoad中调用hello方法

     

    文章摘抄自:https://www.jianshu.com/p/5488a7e0093b
  • 相关阅读:
    jquery.cookie.js
    CSS实现三角形
    关于seajs模块化的搭建
    浏览器版本类型及版本
    js || 和 &&
    bootstraps字体图标无法显示
    Thymeleaf的一些操作
    C语言I博客作业02
    C语言I博客作业03
    20169306《网络攻击与防范》第二周学习总结
  • 原文地址:https://www.cnblogs.com/jerryspace/p/16314494.html
Copyright © 2020-2023  润新知