7

この質問は、Xcode の専門家にとっては簡単ですが、MonoTouch 開発者にとっては解決できないようです。:-)

Xcode 4.5 を使用しており、iOS 5.1 以降および iOS Simulator 5.1 以降をターゲットにしたいと考えています。

ここにライブラリ プロジェクトがあり、「DemoLib」という名前のビルド済みバイナリが付属しています (拡張子はなく、サイズは 11MB です)。このライブラリは、シミュレータおよび iOS 5.1+ 用のファット ライブラリです。そのライブラリは問題なく使用できます。しかし、自分でライブラリをビルドしようとすると、「DemoLib.a」ファイルになってしまいます (拡張子と 30MB のサイズに注意してください)。どうすれば同じビルド結果を得ることができますか? 拡張子のないファイルと比較して、.a ファイルとは何ですか? Xcodeで「実行用」および「アーカイブ用」のプロジェクトをビルドしようとしました。どちらも同じ 30MB の .a ファイルになります。「DEBUG」または「RELEASE」ビルドを選択できるXcodeのドロップダウンを期待していましたが、後者はより小さなライブラリを作成します。

4

2 に答える 2

3

もちろん、フレームワークのプロジェクト ファイルを見ないとわかりません。そうは言っても、iOS フレームワークを作成してコンパイルするための優れたガイドがここにあります: https://github.com/jverkoey/iOS-Framework

上記のガイドを使用すると、フレームワークのプロジェクトを最初から再作成し、必要なファイルを追加して、適切にコンパイルできるはずです。

お役に立てれば!:)

于 2012-12-11T23:28:47.080 に答える
0

Makefileが付属していましたか?新しいターゲットを作成し、ターゲットのビルド設定を Makefile の内容に設定してから、その新しいターゲットに依存するようにプロジェクトを設定します。

.a を含むファイルは静的ライブラリです。つまり、外部には依存せず、必要なすべてのコードが内部でコンパイルされます。一般に、動的ライブラリを意味する拡張機能はないと思います。つまり、リンクするシステムに存在するいくつかの依存関係に依存します。多分それが.aがとても大きい理由です。iOS では動的ライブラリの使用が許可されていないため、Xcode はデフォルトで静的にビルドすると思います。

何を構築するかのドロップダウンは、スキームにあります。Command+shift+< でスキームを表示します。スキーム内で、各構築方法が使用する環境を編集できます。

于 2012-12-02T15:17:30.543 に答える