smithery/cemege

ios-integration-setup

Add 3rd party integrations to an iOS project. Firebase, Supabase, RevenueCat, analytics, and other external services.

Installation

$ npx skills add smithery/cemege --skill ios-integration-setup

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/cemege.

npx skills add smithery/cemege

Browse all from smithery/cemege

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,081 B
  • docs SUMMARY.md 146 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

iOS Integration Setup

Add 3rd party services and integrations to iOS projects.

Core Philosophy

  • Developer choice - Ask what integrations are needed, don't assume
  • 3rd party only - Core packages (Network, Extensions) are handled by ios-project-init
  • Guided setup - Provide configuration steps for each service

When to Use This Skill

Use this skill when:

  • Adding Firebase, Supabase, or other backend services
  • Setting up RevenueCat for subscriptions
  • Integrating analytics (Mixpanel, PostHog, Amplitude)
  • Adding any external SDK or service

Note: For core packages (Network, Extensions), use ios-project-init instead.

Workflow

Step 1: Ask Which Integrations Needed

Present available 3rd party integrations:

Backend Services:

  • Firebase - Auth, Firestore, Storage, Analytics, Crashlytics
  • Supabase - Auth, Database, Storage, Edge Functions

Monetization:

  • RevenueCat - Subscription management and paywalls

Analytics:

  • Mixpanel - Event tracking and user analytics
  • PostHog - Product analytics with feature flags
  • Amplitude - Behavioral analytics

Push Notifications:

  • OneSignal - Push notification service
  • Firebase Cloud Messaging - (included with Firebase)

Images:

  • Kingfisher - Async image loading and caching

Other:

  • Sentry - Error tracking and monitoring
  • LaunchDarkly - Feature flags

Step 2: Add Dependencies

For each selected integration, add via Swift Package Manager:

// Package.swift or Xcode SPM
dependencies: [
    // Firebase
    .package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "11.0.0"),

    // Supabase
    .package(url: "https://github.com/supabase/supabase-swift.git", from: "2.0.0"),

    // RevenueCat
    .package(url: "https://github.com/RevenueCat/purchases-ios.git", from: "5.0.0"),

    // Mixpanel
    .package(url: "https://github.com/mixpanel/mixpanel-swift.git", from: "4.0.0"),

    // PostHog
    .package(url: "https://github.com/PostHog/posthog-ios.git", from: "3.0.0"),

    // Kingfisher
    .package(url: "https://github.com/onevcat/Kingfisher.git", from: "8.0.0"),
]

Step 3: Provide Setup Instructions

For each integration, provide:

  1. Required configuration files
  2. App initialization code
  3. Environment variables needed
  4. Basic usage examples

Integration Setup Guides

Firebase

Requirements:

  • GoogleService-Info.plist in Resources/
  • Firebase project at console.firebase.google.com

App Setup:

import SwiftUI
import FirebaseCore

@main
struct MyApp: App {
    init() {
        FirebaseApp.configure()
    }

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

Products:

  • FirebaseAuth
  • FirebaseFirestore
  • FirebaseStorage
  • FirebaseAnalytics
  • FirebaseCrashlytics

Supabase

Requirements:

  • Supabase project URL
  • Supabase anon key

App Setup:

import SwiftUI
import Supabase

let supabase = SupabaseClient(
    supabaseURL: URL(string: "https://your-project.supabase.co")!,
    supabaseKey: "your-anon-key"
)

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .environment(\.supabaseClient, supabase)
        }
    }
}

Features:

  • Auth (email, Apple, Google, magic link)
  • Database (PostgreSQL)
  • Storage (with CDN)
  • Realtime subscriptions
  • Edge Functions

RevenueCat

Requirements:

  • RevenueCat API key
  • Products configured in App Store Connect
  • Offerings configured in RevenueCat dashboard

App Setup:

import SwiftUI
import RevenueCat

@main
struct MyApp: App {
    init() {
        Purchases.configure(withAPIKey: "your-api-key")
    }

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

Features:

  • Subscription status
  • Purchase flow
  • Restore purchases
  • Entitlement checking

Mixpanel

Requirements:

  • Mixpanel project token

App Setup:

import SwiftUI
import Mixpanel

@main
struct MyApp: App {
    init() {
        Mixpanel.initialize(token: "your-token", trackAutomaticEvents: true)
    }

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

Usage:

Mixpanel.mainInstance().track(event: "Button Tapped", properties: ["name": "signup"])
Mixpanel.mainInstance().identify(distinctId: userId)

PostHog

Requirements:

  • PostHog API key
  • PostHog host (cloud or self-hosted)

App Setup:

import SwiftUI
import PostHog

@main
struct MyApp: App {
    init() {
        let config = PostHogConfig(apiKey: "your-api-key", host: "https://app.posthog.com")
        PostHogSDK.shared.setup(config)
    }

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

Usage:

PostHogSDK.shared.capture("user_signed_up", properties: ["method": "apple"])
PostHogSDK.shared.isFeatureEnabled("new_onboarding")

Sentry

Requirements:

  • Sentry DSN

App Setup:

import SwiftUI
import Sentry

@main
struct MyApp: App {
    init() {
        SentrySDK.start { options in
            options.dsn = "your-dsn"
            options.tracesSampleRate = 1.0
        }
    }

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

Kingfisher

Requirements:

  • None (just add SPM dependency)

Usage:

import SwiftUI
import Kingfisher

struct AvatarView: View {
    let url: URL?

    var body: some View {
        KFImage(url)
            .placeholder {
                ProgressView()
            }
            .resizable()
            .aspectRatio(contentMode: .fill)
            .frame(width: 48, height: 48)
            .clipShape(Circle())
    }
}

Features:

  • Async image downloading
  • Memory and disk caching
  • Placeholder and error handling
  • Image processing (resize, blur, etc.)
  • SwiftUI native support

Example Conversation

Claude: What 3rd party integrations do you need?

  • Firebase
  • Supabase
  • RevenueCat
  • Mixpanel
  • PostHog
  • Sentry
  • Other

Developer: Firebase and RevenueCat

Claude: I'll set up Firebase and RevenueCat:

  1. Adding SPM dependencies...
  2. Firebase requires GoogleService-Info.plist - have you created a Firebase project?
  3. RevenueCat requires API key - have you set up RevenueCat dashboard?

Let me generate the setup code...

References

  • [Available Packages](references/available-packages.md) - 3rd party integration details
  • [Package Usage](references/package-usage.md) - Usage examples

Related Skills

  • ios-project-init - For core packages (Network, Extensions)
  • swiftui-guidelines - For implementing features with these integrations