2017-05-02 10 views
0

私は、iOSアプリケーションのプロジェクトと、AlamofireやFileKitのようなライブラリを使った共有拡張を持っています。すべては、以下のPodfileと完璧に働いていた:iOSアプリケーションとその拡張子の両方でSVProgressHUDを使用する方法

target 'myApp' do 
    use_frameworks! 
    pod 'BRYXBanner' 
end 
target 'myAppShareExtension' do 
    use_frameworks! 
    pod 'FileKit', '~> 4.0.1' 
    pod 'Alamofire', '~> 4.4' 
end 

はその後、私はSVProgressHUDを使用していました。まず、メインアプリに追加したところ、すべてが大丈夫でした。問題は私が拡張機能でも使いたいときに始まりました。それ以来、私はPodfileを何度か変更しましたが、私はアプリと拡張機能の両方でそれを持つことができませんでした。さらに悪いことに、私はメインアプリで再び使用することはできません。私がPodfileに追加するとすぐに、私のアプリはコンパイルに失敗します。 AlamofireFileKitもコンパイルできません。

私の新しいPodfileは、pod installの間にエラーを生成しない唯一のものです。

私がコンパイルしようとすると、私もSVProgressHUDをインポートしようとしたり、それを使用せずに、次のエラーを持っている
platform :ios, '10.2' 
use_frameworks! 
target 'myApp' do 
     target 'myAppShareExtension' do 
       pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git' 
       pod 'Alamofire', '~> 4.0' 
       pod 'FileKit', '~> 4.0.1' 
     end 
end 

:私はこの後者のPodfileを使用する場合、私の拡張ターゲットが命名されていることを

'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead. 

注意Pods-myApp-myAppShareExtensionそれはPods-myAppShareExtensionであるべきですが、問題はpodfileから来ていると思います。

Podfileの構文やビルド環境などについてご意見がございましたら、お気軽にお問い合わせください。

編集:私は別のビルド設定オプションを試してみましたが、多分私はそこに何かを混乱させることに注意してください。

答えて

1

エラーの原因を確認した後、問題の内容を理解します。

#if !defined(SV_APP_EXTENSIONS) 
    UIInterfaceOrientation orientation = UIApplication.sharedApplication.statusBarOrientation; 
#else 
    UIInterfaceOrientation orientation = CGRectGetWidth(self.frame) > CGRectGetHeight(self.frame) ? UIInterfaceOrientationLandscapeLeft : UIInterfaceOrientationPortrait; 
#endif 

SV_APP_EXTENSIONSが表示されますか?つまり、ターゲットがApp Extensionsでない場合は、上記のコードをコンパイルし、そうであればアンダーコードをコンパイルします。だから今は、あなたがあなたのApp Extensionターゲットで動作する必要があります.App Extensionターゲットにプリプロセッサマクロを追加する必要があります。

enter image description here

関連する問題