2017-01-19 9 views
0

Okej、私は数時間これと戦っています。私は完全にアイデアがありません。現在見ているWebサイトのURLを取得するために必要なAction Extensionがあるアプリを作成しています。私はアプリと拡張機能(主にネットワークAPI)の間でいくつかのコードを共有する必要があるので、私もlibsを共有する必要があります(alamofireなど)。延長のためにCocoaPodsにターゲットを追加する

は、ここに私のCocoaPodsあなたは私がuse_frameworksの暗黙的な抽象ターゲットを使用見ることができるように、私はそこに共有されているポッドを移動しようとした

use_frameworks! 

target 'xxxExtension' do 
pod 'ObjectMapper', '~> 2.2' 
pod 'SwiftyJSON' 
pod 'Alamofire', '~> 4.0' 
pod 'Nuke', '~> 4.0' 
pod - 
pod - 
end 

target 'yyyMain' do 
pod 'ObjectMapper', '~> 2.2' 
pod 'SwiftyJSON' 
pod 'Alamofire', '~> 4.0' 
pod 'Nuke', '~> 4.0' 
pod - 
pod - 
pod - 
pod - 
pod - 
pod - 
    target 'yyyMainTests' do 
    inherit! :search_paths 
    pod - 
    pod - 
    pod - 
    pod - 
    pod - 
    end 
end 

ですが、それはあまり変わっていませんでした。自分自身でa​​bstract_targetを作成しましたが、同じエラーです。

error: /Users/abc/Library/Developer/Xcode/DerivedData/yyyMain-fuuyjxathhqlfdczxrtmfewlpcpe/Build/Products/Debug-iphoneos/xxxExtension.appex: No such file or directory 

何が起こっているのですか?

+0

プロジェクト名xxxExtensionをyyyMainに変更しようとしましたか?または最後に最初の終わりを削除しようとする – vaibby

+0

名前を変更する方法を理解していないxxxExtensionをyyyMainに? yyyMainとは別のモジュールですが、どうやって同じ名前を共有できますか?そしてすでに数回注文を移動したが、助けにはならなかった。それはリンクされたリンクされたフレームワークとlibariesにyyyExtensionがあるので、変な変です – Kamajabu

答えて

0

これはちょっと面倒だったし、問題を解決するためのいくつかの変更を加えました。

まずpodfileに

post_install do |installer_representation| 
    installer_representation.pods_project.targets.each do |target| 
     if target.name.start_with? "Pods-extensionName" 
      target.build_configurations.each do |config| 
       config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1'] 
      end 
     end 
    end 
end 

を追加されました。

2つ目は、バイナリの関連付けを手動で削除するための(掃除、派生データの再構築と削除を除く)これを行うには、プロジェクト設定 - >ターゲット - >アプリケーション - >一般 - >(下にある)埋め込みバイナリを入力し、* .appexファイルを削除する必要があります。

さらに、段階を作成し、Libariesでリンクバイナリを削除する必要があります。

最後にすることは、「pod install」でポッドを再インストールし、新しいリンクをクリーンなプロジェクトで再作成することです。

Goodluck!

関連する問題