Help us understand the problem. What is going on with this article?

【Xcode】Embedded Binaries と Linked Frameworks and Libraries の違いについて

More than 1 year has passed since last update.

これは?

スクリーンショット 2018-06-24 15.38.51.png

↑Generalタブの下の方にあるこいつらの違いについての備忘録

FirebaseSDKをCarthageで入れようとしたら詰まったので...

その前に

まずは StaticLibraryDynamicLibraryFramework の違いについておさらい

StaticLibrary(xxxx.a)

  • コンパイル時に静的に組み込まれるライブラリ
  • コンパイル時にリンクされるため、その分アプリケーションのサイズは大きくなる

DynamicLibrary(xxxx.dylib)

  • ランタイム時に実行されるライブラリ
  • 呼び出されて初めてコードが読み込まれるためアプリケーションのサイズは小さくて済む

Framework(xxxx.framework)

  • Bundleの一種(と考えた方がわかりやすい)
  • Libraryは画像やXibを含むことができないが Framework は可能
  • StaticFrameworkStaticLibrary を、 DynamicFrameworkDynamicLibrary を内包する

本題

それでは、Embedded BinariesLinked Frameworks and Libraries の違いについて見ていきます

Embedded Binaries

  • アプリケーションのBundleに組み込まれるバイナリ
  • 主にサードパーティ製の Framework をここに突っ込む

Linked Frameworks and Libraries

  • ビルド時にアプリケーションにリンクされる Framework および Library
  • アプリケーション内で Framework および Library のAPIを参照する場合はこっちに設定していく

例えば、サードパーティ製の Framework を導入する時の流れとしては
1. Embedded Binariesに突っ込む
2. Linked Frameworks and Librariesに設定する

となりますね。
(* Embedded Binaries に突っ込むだけでXcodeが Linked Frameworks and Libraries にも追加してくれますが)

詰まりどころ

FrameworkStaticFramework の場合、Embedded Binaries に突っ込む必要はなく、Linked Frameworks and Libraries の設定のみでOKです

なぜなら、

コンパイル時に静的に組み込まれるライブラリ

とあるように、Embedする必要がないからですね

(自分はFirebaseSDKが StaticFramework であることを失念しており結構時間を持ってかれました)

mixi
全ての人に心地よいつながりを
http://mixi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした