2017-04-21 6 views
1

最近、プロジェクト画面で+ボタンをクリックしてデータモデルオブジェクトを独自のフレームワークに移動しました。私はすべてのファイルを移動し、Appではなく、AppCoreにターゲットメンバーシップを変更しました。このプロジェクトはまったくスウィフトで行われています。Cocoapods Mach-O Linkerローカル動的フレームワークを追加した後のエラー

は、私は以下に私のpodfileを更新:私が構築しようとするたびに

platform :ios, '10.0' 
inhibit_all_warnings! 

target 'App' do 
    use_frameworks! 
    pod 'Firebase/Core' 
    pod 'Firebase/Auth' 
    pod 'Firebase/Database' 
    pod 'Firebase/Crash' 
    pod 'Firebase/Storage' 
    pod 'FBSDKCoreKit' 
    pod 'FBSDKLoginKit' 
    pod 'FBSDKShareKit' 

    target 'AppCore' do 
     inherit! :search_paths 
    end 
end 

が、私は4つのエラーを取得:

Undefined symbols for architecture arm64: "_OBJC_CLASS_$_FIRDataSnapshot", referenced from: objc-class-ref in SSWorkout.o "_OBJC_CLASS_$_FIRDatabase", referenced from: objc-class-ref in SSReference.o objc-class-ref in SSReferrable.o "_OBJC_CLASS_$_FIRAuth", referenced from: objc-class-ref in SSUser.o "_OBJC_CLASS_$_FIRDatabaseReference", referenced from: objc-class-ref in SSOperation.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

私はdeintegratedとポッドを再インストールし、プロジェクトを掃除し、きれいにしていますビルドフォルダー、削除された派生データなど、私はそれをコンパイルすることはできません。

デモプロジェクトでこれを再現するには、pod installを実行してビルドを試してください。

https://github.com/Raesu/Demo-Proj

答えて

1

ライブラリは現在、静的ライブラリとしてビルドされている問題を解決するのに役立ちます。あなたの例では、静的ライブラリを動的ライブラリフレームワーク( DemoCore)にリンクすることはできません。

+0

説明をありがとうございます。だから、firebaseが動的ライブラリとして構築されるまで、私はデモのように自分のフレームワークを使うことはできないのですか? – Raesu

+0

ひどい曲がりがないわけではありません。何が必要なのかについては、https://github.com/firebase/FirebaseUI-iOS/blob/master/build.swiftを参照してください。 –

0

はXcodeでの設定をビットコードを構築可能に試してみて、クリーンビルドを行うが、これは私がFirebaseのポッドで

Xcode > Build settings> Enable bitcode 
+0

ビットコードは、両方のターゲットですでに有効になっています。 – Raesu

関連する問題