2016-04-12 16 views
2

私が管理しているコードを指し示すXamarin.iOSバインディングを更新しようとしていますが、外部の.aライブラリ参照を。フレームワーク。特に、バインディングをコンパイルしようとすると、置き換えたライブラリではネイティブリンクが失敗しています。Xamarin.iOSサードパーティ製のフレームワークとのバインド

Native linking error: framework not found SVGKit for architecture arm64/i386/armv7/armv7s (MT5209) 

私はSVGKitは、これらのアーキテクチャをサポートしていますが、私は.frameworkから参照するときに生成されたバイナリでそれらを含める方法が不明だという事実を知っています。

答えて

3

こんにちは、私はSVGKit.framework/SVGKit偽のフレームワーク(静的ライブラリをフレームワークとして偽装)または動的1(のiOS 8+サポートのみ)であれば、私がチェックします。この問題を診断する

最初に行うだろう動的ライブラリは、バイナリ

file Foo.framework/Foo 
Foo.framework/Foo: Mach-O universal binary with 4 architectures 
Foo.framework/Foo (for architecture i386): Mach-O dynamically linked shared library i386 
Foo.framework/Foo (for architecture x86_64):Mach-O 64-bit dynamically linked shared library x86_64 
Foo.framework/Foo (for architecture armv7): Mach-O dynamically linked shared library arm 
Foo.framework/Foo (for architecture arm64): Mach-O 64-bit dynamically linked shared library 

file Bar.framework/Bar 
Bar.framework/Bar: Mach-O universal binary with 4 architectures 
Bar.framework/Bar (for architecture armv7): current ar archive random library 
Bar.framework/Bar (for architecture i386): current ar archive random library 
Bar.framework/Bar (for architecture x86_64):current ar archive random library 
Bar.framework/Bar (for architecture arm64): current ar archive random library 
Foo

fileコマンドを使用している、Mach-OBarがFRとして偽装スタティックライブラリである気づきますそれだけでSVGKit.framework/SVGKitバイナリを取り、SVGKit.aに名前を変更し、あなたの結合プロジェクトに追加している場合、それは通常の

として動作するはず偽のフレームワーク(静的ライブラリ)であればamework今ar

に気付きますそして、これらのinstructions on how to do itに従ってくださいダイナミックフレームワークです[0]

[0]:。ただ、サイドノート、Xamarin Studioの6.0が出ている一度あなたができるようになり、手動で結合プロジェクト.csprojファイルを変更する必要はありませんその中でそれをするIDE自体:)

+0

フィードバックいただきありがとうございます。私は示唆したようにこれを行い、それが動的な枠組みであると判断しました。私は指示に従い、バインディングのCSProjファイルに.. \ .. \ relative \パスを付けてフレームワークに要素を追加しました。しかし、同じビルドエラー。また、エラーの前にビルドログ内のどこにでもフレームワークのメモがありません。 –

+0

mmm奇妙なことに、私が貢献して働いているプロジェクトを見てみることができます。https://github.com/PSPDFKit/Xamarin-iOS/blob/master/PSPDFKit.iOS/PSPDFKit.iOS.csproj#L52-L54それがあなたのために働くかどうかを確認するには、動的なフレームワークも使用しています。それがあなたのために働くかどうか私に教えてください。また、プロジェクトをどこかで共有したり、プロジェクトを持っている場合(github)、私は一見を持つことができます:) – dalexsoto

関連する問題