> For the complete documentation index, see [llms.txt](https://docs.mpush.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mpush.cloud/flutter-sdk/ios-setup.md).

# iOS Setup

The first thing you have to do is to setup the iOS project is to enable the push notification capability to your project. Open the project in Xcode going in ios -> Runner.xcworkspace, then in the Signing & Capabilities tab click on the + Capability button and select "Push Notifications"

![Enable push notifications capability](/files/-ML7_tOsJ6Ny2BDq4Kxu)

{% hint style="info" %}
You will have to use a provisoning profile created for this app, you will not be able to test and receive push notification using a wildcard provisioning profile.
{% endhint %}

Then yu have to modify the AppDelegate class of your application, open `AppDelegate.swift` file and add this line in the `didFinishLaunchingWithOptions` function.

```swift
UNUserNotificationCenter.current().delegate = self
```

The app delegate should look like this.

```swift
import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    UNUserNotificationCenter.current().delegate = self
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}
```
