2017-06-08 12 views
1

CocoaPodsを使用してフレームワークを管理しています。私はこれが本当に問題なのかどうかは分かりませんが、ちょうどいい場合もあります。私はiOS 10.xでも最新のXcode(ベータ版ではない)を使っています。「PubNubは有効なファブリックキットではないようです」という理由でアプリケーションがクラッシュする


私のアプリは、次のエラーでFabric.with([Crashlytics.self, PubNub.self])にクラッシュされています、私のPodFile、私のプロジェクトをクリーンインストールし、新鮮に走った、物理および仮想デバイスで実行されていた

Terminating app due to uncaught exception 'FABException', reason: '[Fabric] It appears that "PubNub" is not a valid Fabric Kit. Please make sure you only pass Fabric Kits to [Fabric with:].'

私が更新しており、私もpod 'PubNub'をアンインストールして再インストールしました。これまでのところ何も働いていないようですので、どんな助けでも大歓迎です。

マイAppDelegateは次のようになります。

import Fabric 
import Crashlytics 
import PubNub 

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    /* Fabric (Answers) Debug */ 
    Fabric.sharedSDK().debug = true 
    /* Fabric Setup */ 
    Fabric.with([Crashlytics.self, PubNub.self]) 
    return true 
} 

マイPodFileは次のようになります。

# Uncomment the next line to define a global platform for your project 
platform :ios, '9.1' 

target 'AppName' do 
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 
    use_frameworks! 

    # FabriC# 
    pod 'Fabric' 
    pod 'Crashlytics', '~> 3.8' 
    # PubNub # 
    pod 'PubNub/Fabric' 

    target 'AppNameTests' do 
     inherit! :search_paths 
     # Pods for testing 
    end 

    target 'AppNameUITests' do 
     inherit! :search_paths 
     # Pods for testing 
    end 
end 

マイInfo.plistコード:

<key>Fabric</key> 
<dict> 
    <key>APIKey</key> 
    <string>##############################</string> 
    <key>Kits</key> 
    <array> 
     <dict> 
      <key>KitInfo</key> 
      <dict/> 
      <key>KitName</key> 
      <string>Crashlytics</string> 
     </dict> 
     <dict> 
      <key>KitInfo</key> 
      <dict> 
       <key>publish-key</key> 
       <string>##############################</string> 
       <key>secret-key</key> 
       <string>##############################</string> 
       <key>subscribe-key</key> 
       <string>##############################</string> 
      </dict> 
      <key>KitName</key> 
      <string>PubNub</string> 
     </dict> 
    </array> 
</dict> 
+2

'Info.plist'でpubnubをFabric辞書に追加しましたか? –

+0

あなたのPubNubポッドはなぜ 'pod 'PubNub/Fabric''と書かれていますか?私はFabricのドキュメントを見て、サードパーティ製のキットの最後に「/ Fabric」を追加する必要があるとは言いませんでした。 'pod 'PubNub''だけを使ってみましたか? – gurooj

+0

また、上記の@ u.genのような 'Info.plist'にファブリック情報を追加することを忘れないでください。ここにある[サンプル記事](http://www.mokacoding.com/blog/how-to-fix-fabric-startup-crash/) – gurooj

答えて

3

私はFabricのエンジニアです。上記の問題を再現しようとしましたが、これを行うことはできませんでした。新鮮なSwiftプロジェクトとPubNub/Fabric Cocoapodでうまくいくようです。私の唯一の疑念は、どういうわけか、あなたのプロジェクトのPubNubの非ファブリックビルドで終わったということです。私が助けることができる他のものがあれば、気軽に手を差し伸べてください!

+0

助けてくれてありがとう!この場合、古いPubNubビルドを消去し、新しいFabricビルドをインストールするにはどうすればいいですか? – ZGski

+1

試してみるべきこと:ワークスペースのPodsフォルダを削除し、 'pod install'を再実行してください。それでも問題が解決しない場合は、それが新しいXcodeプロジェクトで実行されているかどうか確認してください。 –

関連する問題