Alerting the User
Notifications
When an app is running in the background and does something the user should know about, but does not require an immediate response, display a banner notification.
When an app is running in the background or foreground and does something that the user should know about, but does not require any further interaction from the user, display a banner-only notification. For example, to inform the user that a process has been completed.

Alerts
When an app is running in the background or foreground and does something that is important or sufficiently time-critical to disturb the user, it should display an alert.

Include an app icon to inform the user which app is publishing the alert.
Include a push button that allows the user to dismiss the alert.
Provide other push buttons that allow the user to perform other actions associated with the alert event.
Dialogs
When the app requires a decision from the user before it can proceed, it should display a dialog.

When writing the message and naming the buttons, remember to phrase the message as concisely as possible so the user understands the issue and what actions they can take. Also, avoid the word "please", negative phrases (for example, "invalid account" or "wrong password"), and technical phrases (for example, "server error" or "timed out").
Provide buttons that make it simple to take corrective actions. Use verbs or phrases for the button titles that correspond directly to the language used in the message.
If any of the actions is destructive, use the red button style and provide a Cancel button.
Inline Text
Use inline text to display an error alert icon and a message in the view under the tapped item that generated the problem.
If multiple items contributed to the problem (for example, incorrect user name and password), display a single message summarizing how the user can correct the problem.
