プロジェクトの依存関係の枠組みの確立を通じてのiOS開発

https://www.jianshu.com/p/d146db167bf3

個々のモジュールにパッケージ化する際の開発プロジェクトは、しばしば遭遇するより便利なプロジェクト管理など、状況フレームワーク、あまりにも複雑な伝統的なパッケージ化の方法、トラブル時に繰り返しテストをたくさんだと思います。
ここでの方法とワークスペースについての記録は、プロジェクトに依存した方法を管理します。図はまた、記載漏れ申し訳ありません持っている図のコードワードに応じて、2日前から切り捨てられます。

1.新しいワークスペースを作成します。

1.1 Xcodeの - >ファイル - >新規 - 次ページ>ワークスペースTestフォルダと場所

2. TestProjectとFrameworkProjectを作成します。

2.1 Xcodeの - >ファイル - >新規 - >プロジェクトは、Testフォルダにもあります

 
テストフォルダのステータス

2つのプロジェクトワークスペースを追加するためのXcode 2.2

 

 
ワークスペースの状態

3. FrameworkProjectにターゲットを追加

3.1 FrameworkProject - >ターゲット - > [+]

 

 
ターゲットの追加

ココアタッチフレームワークを選択

 

 
下のフレームワークを選択します。

TestFW、アプリケーションに埋め込む選択することではない最初の名前付き

 

 
名前付きTestFW

あなたは以下を参照することができますフレームワークターゲットを追加しました

 

 
ターゲット

4.フレームワークTestProjectに追加

4.1 TestProject - >ターゲット - >一般 - >組み込みバイナリ - > [+]

 

 
バイナリを追加

製品は、単に与えられた出生ターゲットが出て列挙された参照TestFW.frameworkiOSを選択することができます

 

 
フレームワークを選択

埋め込みフレームワークの成功

 

 
組み込みフレームワーク

可以看到在Project中也显示出来了,不要在意红色,因为在编译TestProject时会先编译它依赖的framework,这也是这种方法建立项目依赖的方便之处,不需要额外手动编译framework。

 

 
嵌入的framework

如果看着不舒服,可以移动到项目的Frameworks文件夹(Tips:看不到Frameworks文件夹可以先随便嵌入一个系统库,比如UIKit.framework,然后再删掉,就可以看到Frameworks文件夹了)。

 

 
移动好的Framework

4.2 添加测试方法

这里举例添加方法到ViewController中,注意这是错误演示,下面会说明。

 

 
ViewController.h
 
ViewController.m

当然不要忘了在暴露的.h中#import "ViewController"

 

 
23.png

运行,发现报错,提示找不到ViewController,导致无法编译framework模块

 

 
找不到ViewController

原来是新增的Target中不包含ViewController这个类。
解决方法:选择ViewController.h -> TargetMembership -> 勾选TestFW

 

 
勾选TestFW

再次运行,发现helloFramework方法并没有调用,并且控制台输出提示ViewController这个class被两个类文件同时生成了,一个是TestProject项目,一个是TestFW这个framework。

 

 
控制台输出

解决方法:把两个ViewController其中一个改下名字就可以了,这里我把framework中的ViewController改名为TestViewController(当然里面的类名也一定要改啊)。

 

 
ViewController改为TestViewController

可以看到输出正常了。

 

 
こんにちは
そのため、フレームワークは、独自の特殊なクラス名の接頭辞を生成する必要があります[強調]は、それは非常に簡単であると階級闘争を投影します。

4.3テストクラスの追加
、新しい1または実施するためのいくつかのクラスになりますもちろん、基本的なクラスを、実際の使用のViewControllerデフォルトを使用しません。新規ターゲットは、対応するクラスを選択する必要があることに注意してください、そうでない場合は問題がコンパイルされません。

 

 
TestFWを選択

独自のクラスを追加した後、実行して、まだ与えられていますか?helloFramework方法、どのような地獄を見つけることができませんか?

 

 
方法を見つけることができません

回避策:FrameworkProject - >ターゲット - > TestFW - >フェーズをビルド - >ヘッダ、プロジェクトの新しい方法は、公開を下にドラッグ。そうしないと、コンパイラはプライベートとしてメソッドを追加し、TestFW.h参照することはできません。

 

 
公衆へ移動

移動した後、

 

 

この時点で、我々は完了です。
あなたが新しいフレームワークを完了したい場合はもちろん、この方法では、このような新しいプロジェクトがはるかに少ないAppDelegateような文書が生成されます際に直接ココアタッチフレームワークを選択し、0から、既存プロジェクトの簡易包装に適しています。

 

 
新しいフレームワーク

 

おすすめ

転載: www.cnblogs.com/sundaysgarden/p/11701666.html