Add in-app surveys to your iOS app in under 5 minutes. Native Swift, Swift Package Manager, no external dependencies.
Three steps to integrate: Add the package via Swift Package Manager, configure with your API key in App init or AppDelegate, and call the trigger method where you want surveys to appear. Prefer AI? In your FeedbackWall dashboard, go to Documentation and copy the AI prompt - paste it into Cursor or Claude and let AI do the integration for you.
Minimum deployment target
Swift language version
Development environment
From FeedbackWall dashboard
The FeedbackWall SDK is distributed via Swift Package Manager. No CocoaPods or Carthage needed.
https://github.com/jaco110d/feedbackwall-ios-sdkdependencies: [
.package(
url: "https://github.com/jaco110d/feedbackwall-ios-sdk",
from: "1.0.0"
)
]Initialize FeedbackWall when your app starts. You'll need your API key from the FeedbackWall dashboard.
import SwiftUI
import FeedbackWall
@main
struct MyApp: App {
init() {
FeedbackWall.configure(
apiKey: "your-api-key",
baseURL: URL(string: "https://feedbackwall.io")!
)
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}import UIKit
import FeedbackWall
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
FeedbackWall.configure(
apiKey: "your-api-key",
baseURL: URL(string: "https://feedbackwall.io")!
)
return true
}
}Associate feedback with specific users. This helps you understand who's giving feedback and follow up if needed.
// After user logs in
FeedbackWall.identify(
userId: "user-123",
traits: [
"plan": "pro",
"signupDate": "2024-01-15"
]
)
// On logout
FeedbackWall.reset()Traits are optional key-value pairs that help you segment feedback. Common traits include:
plan - Subscription tiersignupDate - When they joinedappVersion - Which version they're usingCall the trigger method at key moments in your app. The SDK will check if there's an active survey and show it.
import SwiftUI
import FeedbackWall
struct OrderConfirmationView: View {
var body: some View {
VStack {
Text("Order confirmed!")
Button("Done") {
// Check for and show survey at this moment
FeedbackWall.showIfAvailable(trigger: "order_completed")
}
}
}
}import UIKit
import FeedbackWall
class OrderConfirmationViewController: UIViewController {
@IBAction func doneTapped(_ sender: Any) {
// Check for and show survey at this moment
FeedbackWall.showIfAvailable(trigger: "order_completed")
dismiss(animated: true)
}
}Initialize the SDK. Call once at app launch.
apiKey: StringYour API key from dashboardbaseURL: URLFeedbackWall backend URLAssociate the current user with surveys.
userId: StringUnique user identifiertraits: [String: Any]?Optional user attributesCheck for and show a survey if available.
trigger: StringTrigger name from dashboardClear user session. Call on logout.
No parametersClears all user dataNo. Surveys are managed from the FeedbackWall dashboard. Create, edit, and pause surveys without any code changes or App Store updates.
The SDK adds less than 200KB to your app size. It has no external dependencies and uses only native iOS frameworks.
Surveys require a network connection to load. Responses are sent immediately but will retry if offline.
Yes. The SDK works with both SwiftUI and UIKit apps. Survey UI is presented modally and works in any context.
Get your API key and integrate in under 5 minutes.
Get your API key14-day free trial included.