zoukankan      html  css  js  c++  java
  • Xcode6 创建静态库

    同一工程下的分层项目:使用静态库来创建,通过 .a 文件来连接工程之间的联系

    File-->New-->Project  选择 CoCoa Touch Static Library (静态库)

    填写名称 LibraryDemo

    创建完成的目录

    在 LibraryDemo.h 里面写入可以测试的代码 

    #import <Foundation/Foundation.h>
    @interface LibraryDemo : NSObject
    -(void)printHelloWorld;
    @end

    LibraryDemo.m 代码

    #import "LibraryDemo.h"
    @implementation LibraryDemo
    -(void)printHelloWorld{
       NSLog(@"HelloWorld");
    }
    @end

    以上是 LibraryDemo 工程的代码

    现在要准备做些设置,此时的静态库还没有准备

    选择工程 LibraryDemo 1 --> TARGETS --> 2 LIbraryDemo -->3 Build Phases 

     接下来,点击4 "+" 号 选择 New Headers Phase

     选择 Hearders 点击" + "

    选择我们需要对外的头文件(LibraryDemo.h) 

    添加进来,后再把 LibraryDemo.h 文件拖到 Public

    然后,我们编译下 LibraryDemo 工程.

    编译成功 , Succeeded

    我们创建一个 MyAppDemo 工程

    New --> Project --> Application --> 选择 SingleViewApplication 模板

     

    MyAppDemo--> TARGETS --> 选择 MyAppDemo --> Build Phass 选择 Link Binary With Libraries

    添加,我们刚才 LibraryDemo 工程的.a 文件

    工程下面就会出现 libLibraryDemo.a 文件

    选择 ViewController.m 我们来测试下代码

    这里出现了,头文件无法提示,说明我们头文件并没有在 MyAppDemo 工程下

    接下来我们设置MyAppDemo

    选择 TARGETS -->MyAppDemo 

    在 BuildSettings 搜索 User Header Search Paths 

    在里面添加 $(BUILT_PRODUCTS_DIR) 并设置 recursive

    完成后

    现在代码可以检索到了

    这是我们 LibraryDemo 工程下的文件,并且运行可以打印出 HelloWorld

    静态库创建完成.

    那么接下来,我们来看看,静态库之间如何关联并在工程上使用

    我们按照 LibraryDemo 的步骤创建一个 LibraryDemo2

    创建完成的工程目录结构

    设置LibraryDemo2 工程 已在上面步骤讲述过,这里不在陈述

    设置 BuildSettings 添加 搜索头文件$(BUILT_PRODUCTS_DIR)

    接下来,修改 LibraryDemo2.h 代码

    然后我们在 LibraryDemo2.m 重写 LibraryDemo.h 的 printHelloWorld

     

    好了,我们再编译下.

    并把libLibraryDemo2.a 文件添加如图

    注意:如果 LibraryDemo2 文件找不到,请确认,你是否编译过 LibraryDemo2 或 是否编译出错.

    现在我们修改下 ViewController.m 代码,检测下是否运行正常

    现在的项目分层是:

    MyAppDemo   

    LibraryDemo2

    LibraryDemo

    MyAppDemo 做表现层可以分成两层 iPhone / iPad 

    LibraryDemo2 可以做业务层

    LibraryDemo 是最底层.可以做数据访问层

     

  • 相关阅读:
    python 的基础 学习 第六天 基础数据类型的操作方法 字典
    python 的基础 学习 第五天 基础数据类型的操作方法
    python 的基础 学习 第四天 基础数据类型
    ASP.NET MVC 入门8、ModelState与数据验证
    ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    ASP.NET MVC 入门6、TempData
    ASP.NET MVC 入门5、View与ViewData
    ASP.NET MVC 入门4、Controller与Action
    ASP.NET MVC 入门3、Routing
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL
  • 原文地址:https://www.cnblogs.com/Overbord/p/4463224.html
Copyright © 2011-2022 走看看