Drop the Fewchurs board into any SwiftUI app in a few minutes.
Add the package through Xcode:
// Xcode → File → Add Package Dependencies…
https://github.com/fewchurs/fewchurs-swiftOr add it directly to your Package.swift:
dependencies: [
.package(url: "https://github.com/fewchurs/fewchurs-swift", from: "1.0.0")
]Call configure once, on launch, with the API key from your app's dashboard settings.
import SwiftUI
import Fewchurs
@main
struct MyApp: App {
init() {
Fewchurs.configure(apiKey: "fr_live_xxx")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Present FewchursBoardView like any other SwiftUI view — as a sheet, a tab, or pushed onto a navigation stack. It handles listing, voting, comments, and submitting a new request on its own.
import SwiftUI
import Fewchurs
struct SettingsView: View {
@State private var showBoard = false
var body: some View {
Button("Request a feature") {
showBoard = true
}
.sheet(isPresented: $showBoard) {
FewchursBoardView()
}
}
}Outside a SwiftUI hierarchy (e.g. from a UIKit view controller), present it imperatively instead:
// UIKit, or anywhere outside a SwiftUI view hierarchy
Fewchurs.showBoard()To collect a request from your own custom UI instead of the bundled board:
Task {
do {
let feature = try await Fewchurs.submitFeature(
title: "Add dark mode",
description: "Would love a dark theme.",
isSubscriber: currentUser.hasActiveSubscription
)
print(feature.id, feature.status)
} catch {
print("Failed to submit:", error)
}
}isSubscriber is optional and defaults to false. Pass true when the submitter is a paying customer of your app (from StoreKit, RevenueCat, etc.) and a "Subscriber" badge will show up on that request in your dashboard.
FewchursBoardView shows a small "Powered by Fewchurs" badge on the free plan. It disappears automatically once the app's owner upgrades to Pro — nothing to change in code. See pricing.
Most integration issues come down to a missing API key or an app that hasn't been created yet in the dashboard — double check those first.