Before you start
- A Feddy project and its project ID. You’ll find the ID under Settings → Install in the dashboard. No project yet? Create one first.
- Xcode 15 or later. The SDK supports iOS 15 and up and doesn’t pull in any other packages.
1
Add the package
In Xcode, choose File → Add Package Dependencies… and paste this URL:If you manage dependencies in a
Package.swift file instead, add:2
Tell Feddy which project this is
Do this once, when the app launches, before anything else can open Feddy. Calling it again later does nothing.
App.swift
The project ID isn’t a secret. It’s built into your app, so anyone who downloads the app can find it, and that’s fine: it only tells Feddy which inbox a message belongs to. Commit it to your repository like any other setting. There’s nothing to protect, so keep it out of your secrets file.
3
Give users a way in
Add a row wherever users already go looking for help. For most apps that’s Settings:
present() slides Feddy up over whatever is on screen, showing the user’s past conversations and a button to start a new one. If you’d rather skip straight to the new-message screen, call presentNewConversation() instead..feddyUnreadBadge() puts a count on the row when a reply is waiting, the same way iOS shows counts in Settings. It disappears when there’s nothing unread.4
Send yourself a message
Run the app, tap the row, and send a message. Then open your inbox at dash.feddy.app: it’s there, with the device model and app version alongside.Reply from the inbox. Back in the app, the reply appears in the conversation, and the Support row shows a
1 until the user opens it.That’s the whole loop: a user writes in, you answer, and the answer reaches them inside the app.
Next steps
Identify users
Tell Feddy who’s logged in, so you see their name in the inbox and replies can reach them by email.
Unread badge
Put the count on a tab bar item, a custom row, or anywhere else.
Conversations
What you’re looking at in the inbox, and what happens on its own.
iOS SDK reference
Every call in the package, with its signature and what it does.