

閉じた依存関係を実現したいのですが、以下のような参照は可能でしょうか  
Project（Aライブラリ導入プロジェクト）->A（現在作成中）->C（Realm ver0.9x）  
Project（Aライブラリ導入プロジェクト）->C（Realm 最新バージョン,）

ライブラリを作ろうとしています、DBを活用したライブラリで、DBはRealmです。  
ただこのRealmがどうもバージョンがポンポンアップされて、定まってせん。  
Realmは将来あるライブラリなので、採用されるプロジェクトがどんどん多くなると思います。  
ですが、私が現在作ってるライブラリは、できれば今のバージョンで固定したいのです。  
Realmを参照してるライブラリのため、バージョンアップのために動作確認必要になり、  
面倒。かといって、導入してくれたプロジェクトのRealmバージョンを中途半端な  
バージョン押し付けるのはおかしいと思ってます。

Aライブラリの参照するRealmはC（Realm ver0.9x）だけを参照して、プロジェクトからは  
見えないし影響与えない状態にして、導入プロジェクトは最新のバージョンでRealm  
を入れられるようにしたいのです。

ちなみにライブラリと書いてますが、cocoa touch frameworkを採用予定です。  
依存関係はcocoapodsを使用します。

よろしくお願いいたします。


CC BY-SA 3.0
2016-03-12T23:12:56.420
23070
2016-03-14T01:58:14.820
14760
question
ios swift objective-c xcode cocoapods
Cocoapodsで異バージョンライブラリ


Realmは現在バージョン1.0に向けて開発を加速している状況ですので、まだまだ変更があります。  
バージョンアップについていくのが大変なのは理解できますが、現在のバージョンで固定するというのはまったくお勧めできません。

少なくとのバージョン1.0まではバージョンアップにそれなりの間隔で追随することができなければ、使い続けるのは難しいと思います。それまでは安定しているCoreDataやSQLiteなどの使用をお勧めします。

上記の内容を踏まえた上で、あるライブラリだけ使用するバージョンを固定する方法ですが、`Realm.framework`の名前を変える以外にはないと思います。ライブラリが使うものは、Realm.frameworkではない別の名前にして、別モジュールとしてインポートして使うことで、アプリケーション側では自由にRealmの最新バージョンを利用することができます。


CC BY-SA 3.0
2016-03-14T01:58:14.820
23106
2016-03-14T01:58:14.820
5519
23070
answer