14

Coredata フレームワーク、Quartzcore などをインポートする方法と同じように、他のプロジェクトにフレームワークとしてインポートする必要があるプロジェクトがあります。それを達成するにはどうすればよいですか? 私のプロジェクトを、他のプロジェクトにインポートできるライブラリまたはフレームワークにコンパイルする方法は? 手順を説明してください。

前もって感謝します。

4

2 に答える 2

3

https://github.com/jverkoey/iOS-Frameworkフレームワークとリソースのバンドルを作成するには、このリンクを試してください。プロジェクトで使用した画像、xibs、およびその他のリソースをバンドルにまとめ、クラスを Cocoa にコピーします。静的ライブラリ プロジェクトをタッチします。

于 2012-11-02T07:58:28.107 に答える
2

UIKit.framework のような「標準」フレームワークをコンパイルする場合は、このUniversal Framework iPhone iOSを試してください。

そうしないと

  1. 「TestPlugin」という名前の新しいプロジェクトを作成し、タイプ「Cocoa touch Static Library」を選択します。ここにターゲット「TestPlugin.a」があります。
  2. 新しいターゲットを追加します。プロジェクトの設定の左隅にある名前は「Add Target」です。「OS X」の「フレームワークとライブラリ」で「バンドル」を選択します。これは、「TestPluginBundle.bundle」という名前の 2 番目のターゲットです。
  3. TestPlugin.a ターゲットの「ビルド フレーズ」設定で、新しい「ターゲット依存関係」を追加します。これにより、最初に .bundle ファイルが生成され、次に .a ファイルが生成されます。
  4. すべての「オリジナル」プロジェクトのファイル (main.m と .xcodeproj ファイルを除く) を TestPlugin プロジェクトにコピーして追加します。
  5. TestPluginBundle の「Build Phases」設定で、すべての .xib .png (多分 .jpg) ファイルを「Compile Sources」に追加します。「バンドル リソースのコピー」に空間リソース (.wav、.gif、.html など) を追加します。
  6. メイン バンドルからリソースをロードするすべてのコードを、TestPluginBundle からリソースをロードするように置き換えます。imageNamed:を使用できるようにしたいので、UIImage のカテゴリを追加したい場合があります[UIImage testPluginImageNamed:@"small.png"]。プロジェクトで置換を行い、関連するヘッダー ファイルを追加するのは簡単です。.xib ファイルを取得する例:

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        //self = [super initWithNibName:nibNameOrNil bundle:[NSBundle mainBundle]];
        // you need to define a method to get the bundle 'TestPluginBundle.bundle', here I used '[TestPlugin TestPluginBundle]'
        self = [super initWithNibName:nibNameOrNil bundle:[TestPlugin TestPluginBundle]];
        ...
    }
    
  7. この後、.a ファイルと .bundle ファイルを別のプロジェクトに追加します。別のプロジェクトでは、関連するフレームワークを再度追加する必要があります。

私は自分の仕事にこの方法をうまく使っています。

于 2012-11-02T08:10:35.337 に答える