美文网首页iOS开发
Workspace管理多project

Workspace管理多project

作者: Y_Eric | 来源:发表于2018-07-18 18:23 被阅读0次

便于多项目统一管理,现简单介绍一下Workspace的基本用法,在介绍之前先来说下使用Workspace的好处:

1.一个工程环境管理多个项目或抽取共有资源(静态库、图片资源文件及代码工具类等),方便代码修改、共用及同步。

2.可以像在同一个工程里一样,直接点击方法名就能查看引用库项目的代码。

3.运行主项目时,编译器会自动帮你编译库文件。

接下来该说Workspace的使用了

创建Workspace工程

Xcode ->File - >New ->Workspace,创建工程并命名为TestWorkspaceObj。

创建Workspace工程

添加管理项目

打开Xcode创建主项目MainTestObj,附属项目OtherTestObj,完成调用OtherTestObj公用方法、静态库/framework公用方法及共享其图片资源。

1、将MainTestObj及OtherTestObj添加到TestWorkspaceObj中。

TestWorkspaceObj添加MainTestObj TestWorkspaceObj中主副项目

2、主项目MainTestObj 调用OtherTestObj公用方法

主项目#import "TestViewController.h",发现找不到该头文件,原因是主副工程未添加相互引用关系。
(操作步骤:在主项目MainTestObj->Build Settings 里找到Header Search Paths,添加一项$(SRCROOT)/../OtherTestObj(也可以直接将文件夹OtherTestObj拖到里面自动生成路径),并且设置为recursive。)

添加路径成功后同时导入#import <OtherTestObj/TestViewController.h>#import <OtherTestObj/TestViewController.h>即可。

文件互引用 调用[TestViewController shareTestVc] 调用成功

3、主项目MainTestObj 共享OtherTestObj图片资源,这里采用bundle管理图片资源。

添加Bundle:macOS->Bundle->Next 改变Base SDK: 由macOS->iOS
添加tree.jpg 添加run script到build parses中 shell脚本添加指定bundle资源到主工程

添加单个bundle

cp -R -f $BUILT_PRODUCTS_DIR/xxx.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/

如果有多个bundle

cp -R -f $BUILT_PRODUCTS_DIR/*.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/

这样bundle就可以正常打包到app中了

视图加载图片资源 调试结果

4、主项目MainTestObj 共享StaticLaSource资源。

将StaticLaSource->libStaticLaSource.a添加MainTestObj->MainTestObj->Build Phases->Link Binary With Libraries中 设置路径 $(BUILT_PRODUCTS_DIR) #import <StaticLaSource/StaticLaSource.h> 调用test生效

5、主项目MainTestObj 共享FrameworkSource资源。

将testFramework->testFramework.framework添加MainTestObj->MainTestObj->Link Binary With Libraries中 将testFramework->testFramework.framework添加MainTestObj->MainTestObj->General->Embedded Binaries中 #import "teztFramework/teztFramework.h" 调用returnVaule生效

以上简单介绍一些基本用法,不足之处望指正!

Demo: https://github.com/yssEric/Workspace

相关文章

网友评论

    本文标题:Workspace管理多project

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