iOSアプリを構築するときに、プロジェクトをモジュールやフレームワークに分割することは良い戦略です。 それはあなたが複数のアプリ間でフレームワークを共有することを可能にするでしょう、あなたはまた、他の開発者などとフレームワークを共有したい

このチュートリアルでは、フレームワークを作成する方法を説明します。 私たちは二つの非常に簡単なプロジェクトを作成します。 最初のプロジェクトはAnalyticFrameworkと呼ばれ、2番目のプロジェクトはMainAppと呼ばれます。

MainAppAnalyticFrameworkをインポートし、Analyticsクラスを初期化してからlogメソッドを呼び出します。 これは、フレームワークの作成と使用に関しては、簡単です。

チュートリアルを始めましょう。ステップ1:新しいフレームワークを作成する

これを行うには、Xcodeを開いて新しいプロジェクトを作成する必要があります。 しかし、Applicationからプロジェクトタイプを選択する代わりに、Frameworkを選択する必要がありますFramework & Library:

ステップ2:プロジェクトの名前AnalyticFramework

プロジェクトの名前は次のとおりですAnalyticFramework:

ステップ3:Analyticsクラスをフレームワークに追加する

ここで、プロジェクトに新しいファイルを追加する必要があります。 このファイルは、後でメッセージをログに記録するために使用するAnalyticsクラスになります。

新しいファイルを追加しましょう:

それがSwiftファイルであることを確認してください:

私は自分のファイルに名前を付けましたAnalytics:

ステップ4:分析クラス

のコードを作成した新しいSwiftファイルに、次のコードを追加する必要があります:

public class Analytics { public init() {} public func log(message: String) { print("Log message: ", message) }}

これは単純なクラスですが、フレームワークの外でこのクラスを使用したいので、publicとしてマークする必要があります。 これは、AnalyticsMainAppでinitliaseするためにinitをpublicにする必要があるためですが、私たちの目的のためには引数を取らないので、空白のままにしてpublicにします。

私たちのAnalyticsクラスの最後の部分はlogメソッドです。 別のフレームワーク/プロジェクトから使用できるように、このpublicを作成する必要があります。 logメソッドは1つの引数messageを取り、コンソールに出力します。

ステップ5:MainAppを作成する

メインアプリ用の単一のビューアプリケーションを作成できるようになりました:

それに名前を付けますMainApp:

今、私たちは私たちのMainAppが作成されていることを、我々はでドラッグすることができますAnalyticFramework.xcodeproj:

AnalyticFrameworkをドラッグしているときは、Xcodeの別のインスタンスが開いていないことを確認してください。 私はXcodeの複数のインスタンスでフレームワークをドラッグしようとしたとき、それは正常に動作しません。

フレームワーク内をドラッグすると、そのフレームワークの内容を見ることができる小さな矢印が横にあるはずです。この写真のように

:

ステップ6: フレームワークをフレームワーク、ライブラリ、埋め込みコンテンツに追加する

これを行うには、左上のMainAppプロジェクトをクリックし、Generalタブに移動してからFramework, Libraries and Embedded Contentを探す必要があります。 それを見つけたら、+ボタンをクリックしてください。

次の画像で何をする必要があるかを見ることができます:

+ボタンをクリックすると、追加するフレームワークを選択するように求められます。:

上の画像のようにAnalyticFramework.frameworkを選択してください。

ステップ7: フレームワークを使用してください

今、私たちはフレームワークを使用することができますすべての設定を持っています。 私はそれをviewDidLoad私のViewControllerファイルのMainAppで使用します。

以下のimportをファイルの先頭に追加します。import UIKit:

import AnalyticFramework

次に、viewDidLoadを更新する必要があります。 現在のviewDidLoadを次のように置き換えます:

override func viewDidLoad() { super.viewDidLoad() let analytics = Analytics() analytics.log(message: "analytics initialized") // Do any additional setup after loading the view.}

これで、アプリをビルドして実行できるようになります。 そうすると、Log message: analytics initializedが印刷されます。

コメントを残す

メールアドレスが公開されることはありません。