.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.12 2010

静的ライブラリなんて…

Tasakiです。

ついにSnowLeopardにアップグレードしました。見た目はほとんど変わらないという話ですが、ツールが対応してなかったり、XcodeやIBに至っては、操作性がだいぶ変わってるみたいで、慣れるまで大変な気がします。

今回のテーマですが、タイトルからしてネガティブ感にあふれてますけども、静的ライブラリの欠点についてです。
ライブラリは便利だという話の後にこんなネタを持ってきて恐縮ですが、用途を考える上では重要だと思いますので。

・ファイルサイズの肥大化
フレームワーク等をリンクしていると、ライブラリ内にまるごと含まれてしまいます。結果、アプリケーションバンドルが目に見えて大きくなります。

・同一の静的ライブラリを含む派生ライブラリを複数リンクする場合の問題
アプリケーションターゲットのリンカフラグに-ObjCや-all_loadを指定しているとクラスが二重定義されていると言われ、ビルドが通らなくなります。二重定義じゃなくて同じものだっつーの。かといって、それらのフラグを外すと既存クラスへの追加カテゴリ等がロードされなくなります。

・NSSelectorFromString()でライブラリ内部のメソッドが取得できない
ライブラリの外から内部のメソッドに対して、Objective-Cのウリの1つである動的結合が使用できません。これも痛いです…



1つ目はしょうがないとしても、他は致命的です。そんな設計にしてる方が悪いと言われればそれまでですが…
どなたか、いい解決法をご存知ないでしょうか?

2010/3/5 追記
ライブラリ内のメソッドに対しての動的結合は可能でした。ご迷惑をおかけして申し訳ありませんでした。
関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/94-fc8c9215

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。