かなり厄介な問題があります。実績のロックを解除すると、それに関する通知が表示されます。のときにトリガーされachievement.completed == YES
ます。シミュレーターでは、これで問題ありませんachievement.completed
。true
通知が表示されます。ただし、どのデバイスでもこれはfalse
あり、通知は表示されません! 私は同じコードを使用していますが、何も変更されていません#ifdef
。シミュレーター用の 's はありません。
コード:
if (achievement.completed) {
[self showAchievementNotification: [_achievementDescriptions objectForKey:achievement.identifier]];
}
コードを変更したので、今は動作します:
if (achievement.percentComplete >= 100.0f && percentComplete == achievement.percentComplete) {
[self showAchievementNotification: [_achievementDescriptions objectForKey:achievement.identifier]];
}
これは完全に機能します。