2016-06-13 26 views
1

私はGoogle Analyticsにcocoa-podを使用しています。GoogleAnalytics - 迅速なエラー

ポッドファイル

source 'https://github.com/CocoaPods/Specs.git' 

target 'MyProject' do 
    pod 'FBSDKCoreKit' 
    pod 'FBSDKShareKit' 
    pod 'FBSDKLoginKit' 
    pod 'GoogleAnalytics' 
end 

橋渡しヘッダ

#import <FBSDKCoreKit/FBSDKCoreKit.h> 
#import <FBSDKLoginKit/FBSDKLoginKit.h> 
#import <FBSDKShareKit/FBSDKShareKit.h> 
#import "GAI.h" 
#import "GAIFields.h" 
#import "GAIDictionaryBuilder.h" 

すべての作業罰金はなくてはならないいくつかのエラーを検出し、私のポッドのXcodeにGoogleAnalyticsを追加した後。

func design(invitationInfo object: AnyObject) { 
    eventId = object["eventId"] as? String 
    message = object["message"] as? String 
    location = object["location"] as? String 
} 

上記の領域では、すべての値をアンラップするように求められます。

enter image description here

私は何をすべきかを理解することはできませんよ。私はこれらの値が文字列として来ることを保証することはできません。

+0

'eventId'などの宣言はどうですか? –

+0

var eventId:String? –

+0

どのように 'design'関数を呼び出していますか? 'invitationInfoオブジェクト'とは何ですか? – Code

答えて

-1

エラーとして「!」を使用する必要があります。 、

は、あなたがそれを使用する前に、nilのためにそれをチェックする必要があり

let eventID: String? = object["eventID"]

eventIDを作成した後、コードの下に試してみてください。

0

私はcocoapodsでGoogleAnalyticsをインストールした後も同じ問題がありました。このエラーがどこから来たのか分かりませんが、オブジェクトの値が文字列であることを保証するためにこれを試すことができます。

func design(invitationInfo object: AnyObject) { 
    if object["eventId"] is String { 
     eventId = object["eventId"] as! String 
    } 
    if object["message"] is String { 
     message = object["message"] as! String 
    } 
    if object["location"] is String { 
     location = object["location"] as! String 
    } 
} 
+0

はい、できます。しかし、これは最適な解決策ではありません。私はただ1つの方法で問題を説明します。全体で286のエラーが発生しました。もし私があなたが示唆したことを本当に必要とするなら、非常に忙しいでしょう。 –

+0

あなたは正しいかもしれませんが、おそらく286のエラーには適切な解決策ではありません。このようなGoogleアナリティクスをインポートすると、 '#import 'というコードがインポートされていない可能性があります。また、あなたのプロジェクト(Shift + cmd + K)をきれいにすることができます、それは魔法のようにいくつかの時間^^ – Bogy

+0

私は何度も試してみましたが、魔法は起こっていません.. :( –