Closed yskfj closed 9 years ago
補足です
ver1でファイル生成済みのデバイスでアップデートした場合は、値が正しいかどうかはおいておいて落ちることは無いです。
v2.0.2でも変わってないですね。currentInstallationファイルが作成できていない場合に PUSHからアプリを開いて NCMBAnalytics trackAppOpenedWithRemoteNotificationPayload: を実行すると落ちます
理由が分かりました
https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/98
に記載の通り、アプリを一旦アンインストールして再インストールすると、duplicateエラーが出ます その際に保存出来ないのでcurrentInstallationファイルが生成されない
/Library/Private Documents/NCMB/currentInstallation にcurrentInstallationの内容を保存している気配が無いので (一応コード上で NSData writeToFile を行っている箇所を確認しました)
NCMBAnalytics trackAppOpenedWithRemoteNotificationPayload: 実行時に installation.deviceType installation.deviceToken がnilになります
そのため、 NSDictionary *requestData = @{@"deviceType":installation.deviceType, @"deviceToken":installation.deviceToken }; で落ちます
おそらくPUSHから開いた統計データも正しく取れていないのではないでしょうか
合わせて同じ内容でNiftyにも問合せます
テストに成らないので、一旦自分用のforkで それぞれnilだったら空文字列をセットする形で対応しようと思います