Skip to main content

Quick Start

Add a feature request portal to your iOS app in 5 minutes. Your users can submit ideas, vote, and see your roadmap — all with a single line of code.

Step 1: Add the SDK

Add FeatKit to your project using Swift Package Manager. In Xcode:
  1. Go to File → Add Package Dependencies
  2. Enter the repository URL: https://github.com/featkit/featkit-ios
  3. Select Up to Next Major Version from 1.0.0
  4. Click Add Package

Step 2: Get your credentials

  1. Sign up at featkit.com
  2. Create a project (usually one per app)
  3. Go to Project Settings → API Keys
  4. Copy your Project ID and API Key

Step 3: Configure the SDK

Initialize FeatKit when your app launches:
import FeatKit

// In AppDelegate
func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FeatKit.configure(projectId: "YOUR_PROJECT_ID", apiKey: "YOUR_API_KEY")
    return true
}

// Or in SwiftUI App
@main
struct MyApp: App {
    init() {
        FeatKit.configure(projectId: "YOUR_PROJECT_ID", apiKey: "YOUR_API_KEY")
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

Step 4: Identify users

After a user logs in, identify them so their feedback is associated with their account:
// After user login
await FeatKit.identify(
    userId: user.id,
    email: user.email,
    name: user.displayName
)
For apps without user accounts, use FeatKit.identifyAnonymous() instead. The SDK generates a stable device identifier.

Step 5: Open the portal

Open the feedback portal from anywhere in your app:
// That's it — one line!
try await FeatKit.openPortal()
The SDK handles authentication automatically. Users see the portal in a native Safari view and can submit feature requests, vote on ideas, and view your roadmap.

Full example

import SwiftUI
import FeatKit

struct SettingsView: View {
    var body: some View {
        List {
            Button("Feature Requests") {
                Task {
                    try await FeatKit.openPortal()
                }
            }
        }
    }
}

What’s included

The SDK provides much more than just opening the portal:
FeatureMethod
Open portalFeatKit.openPortal()
Get portal URLFeatKit.getPortalURL()
List featuresFeatKit.getFeatures()
Submit featureFeatKit.submitFeature(title:description:)
VoteFeatKit.vote(featureId:)
EventsFeatKit.onEvent { }

Next steps