Ich mache eine Alarm-App. Es gibt zwei Dinge, die am Simulator funktionieren, aber nicht auf meinem Gerät.(iOS Swift) Einige Funktionen funktionieren am Simulator, aber nicht am Gerät
1) Laut der this Website, wenn UIApplicationExitsOnSuspend auf "YES" gesetzt ist, sollte die App immer ausgeführt werden, auch wenn das Gerät gesperrt ist (sofern es im Vordergrund ist). Ich habe diese Informationen verwendet, um sicherzustellen, dass NSTimer auch dann ausgeführt wird, wenn das Gerät gesperrt ist. Im Simulator funktioniert die NSTimer immer und der Sound wird immer ausgelöst (selbst wenn ich den Simulatorbildschirm sperre). Wenn ich mein iPhone-Gerät an den Computer anschließe und die App über xcode laufe, funktioniert es auch gut. Aber das Problem ist, dass, sobald ich mein Telefon abziehe und die gespeicherte App lade, manchmal der NSTimer funktioniert und manchmal nicht.
2) Lokale Benachrichtigungen: Auf dem Simulator funktionieren die lokalen Benachrichtigungen gut, aber auf dem iPhone-Gerät werden die Benachrichtigungen zu zufälligen Zeiten ausgelöst und manchmal werden sie nicht einmal ausgelöst. Aber auf dem Simulator werden die lokalen Benachrichtigungen genau ausgelöst. Ich habe verschiedene Tests durchgeführt (z. B. die lokale Benachrichtigung so eingestellt, dass sie 20 Sekunden nach dem Laden der App auslöst und dann die App im Hintergrundmodus beendet), aber sie löst nicht zur angegebenen Zeit aus und wie ich schon sagte, wird sie manchmal nicht ausgelöst .
In diesem Fall, sollte ich Simulator oder das iPhone-Gerät vertrauen? Könnte das ein Fehler sein oder mache ich etwas falsch?
Ich glaube nicht, dass das das Problem ist Matt. Im Fall von NSTimer funktioniert es gut auf meinem Gerät, solange es durch xcode läuft. Aber wenn ich nicht durch xcode laufe, dann tut es nicht ... –
Auch wie im Falle der lokalen Benachrichtigung, bekomme ich es in zufälliger Zeit .... –
"Ich glaube nicht, dass das das Problem ist Matt" Ich Ich weiß nicht, was du damit meinst. Du hast gefragt, was du vertrauen sollst und ich habe dir die Antwort gesagt. Dein Test auf dem Gerät, das vom Sprungbrett startet, ist der definitive Test (und noch definitiver, wenn du einen Release Build machst); nichts anderes ist. Du kannst mir glauben oder ungläubig sein, aber das ist die Antwort. – matt