Browser extensions
Hire Safari extension developers for Mac, iPhone and iPad
Our Safari extension developers build Safari Web Extensions and ship them inside a native app on the App Store. We combine web extension skills with Xcode, Swift and App Review experience, so your extension works on macOS, iOS and iPadOS and gets approved.
- Web extension code plus the native Xcode app around it
- One project for macOS, iOS and iPadOS
- App Store Connect, TestFlight and App Review handled
Overview
What Safari extension developers do, and why Safari is different
Safari supports the same WebExtensions API as Chrome and Firefox, so the code that runs in the browser is familiar: a manifest, background script, content scripts and a popup. The big difference is how it ships. A Safari Web Extension cannot be uploaded to a web store on its own. It must live inside a native app, built and signed in Xcode, and distributed through the App Store, or on the Mac as a signed and notarized app. That means your extension team needs both web skills and Apple platform skills.
Safari is also the only way to put an extension in front of iPhone and iPad users. Since iOS 15 and iPadOS 15, Safari Web Extensions run on mobile, which no other major browser on iOS offers in the same way. One Xcode project can hold a macOS app, an iOS app and a shared extension, so a single purchase or download can cover every Apple device your users own.
Apple puts privacy first, and Safari shows it. Users must turn the extension on in Safari settings after installing the app, and Safari asks them which websites the extension may access, with choices like allowing it for one day or always on a given site. An extension that assumes it has access everywhere will look broken. Good Safari extension developers design onboarding and features around these prompts.
When you hire Safari extension developers from Dware, you get senior engineers who can write the TypeScript for the extension, the Swift for the containing app and native messaging, and the paperwork for App Store Connect. They work in your repository and your Apple developer account, with a senior code review on every change.
What we build
Safari extension development services
We take care of both halves of a Safari extension: the web extension itself and the native app, signing and App Store work around it.
Converting Chrome and Firefox extensions to Safari
We run Apple's Safari web extension converter on your existing extension, then do the real work it leaves behind: fixing unsupported APIs, adjusting permissions and finishing the generated Xcode project for release.
New Safari Web Extensions
We build new extensions for Safari from the ground up, with shared web code that can later ship to Chrome and Firefox too if you want.
iOS and iPadOS Safari extensions
We adapt popups to small screens, handle the non-persistent background that mobile Safari requires and test on real iPhones and iPads, not only the simulator.
Containing app and onboarding
We build the native SwiftUI app that ships with the extension. It explains what the extension does, shows users how to turn it on in Safari settings and can hold account sign-in or settings.
Native messaging and app groups
We connect the extension to native Swift code through native messaging, and share data between the app and the extension with app groups and the Keychain where needed.
App Store submission and review
We set up App Store Connect, privacy details, screenshots and TestFlight builds, then manage App Review and any rejections until the app is live.
Mac distribution outside the App Store
For Mac-only tools we can sign the app with a Developer ID certificate, notarize it with Apple and distribute it from your website.
Our process
How our Safari extension developers build your extension in Xcode, step by step
Building for Safari means running two projects in one: a web extension and a native Apple app. Here is how we do it, with the Apple-specific detail at every stage.
- 1
Discovery and Apple account setup
We learn what the extension must do and on which devices. We check that you have an Apple Developer Program membership for your company, or help you enrol, because publishing requires it. If you already have a Chrome or Firefox extension, we list every API it uses and check it against Safari's supported APIs. We also decide early whether the app is App Store only or also distributed outside it on the Mac.
What you get
- Feature and platform plan
- Safari API compatibility notes
- Apple account checklist
- Free, fixed quote
- 2
Converting or scaffolding the Xcode project
For an existing extension we run xcrun safari-web-extension-converter, which creates an Xcode project with the extension resources and macOS and iOS app targets. For a new extension we start from Xcode's Safari Extension App template. We set a bundle ID for the app and the extension, configure signing with your team, and add an app group so the app and extension can share data. We keep the web code in its own folder with its own build so it can still target other browsers.
What you get
- Xcode project with app and extension targets
- Signing and bundle IDs configured
- Shared web extension source
- 3
Architecture across web and native code
We decide what runs in JavaScript and what runs in Swift. The background script, content scripts and popup handle browser work. The native SafariWebExtensionHandler receives messages sent with browser.runtime.sendNativeMessage and can reach the Keychain, app group storage or your native app. On iOS the background must be non-persistent, so we design every flow to survive the background being unloaded. We also plan how features behave when the user has granted access to only some websites.
What you get
- Web and native responsibility map
- Native messaging contract
- Permission-aware feature plan
- 4
Building the extension and the app
We build the web extension in TypeScript and the containing app in SwiftUI. The app is not an empty shell: it explains the extension, shows how to enable it, and on macOS can open Safari's extension settings directly. We share a new build every week, through Xcode on your Mac or through TestFlight on your iPhone. Every pull request, web or Swift, gets a senior code review.
What you get
- Weekly builds and TestFlight releases
- SwiftUI onboarding app
- Reviewed pull requests
- 5
Testing on Mac, iPhone and iPad
On the Mac we enable unsigned extensions in Safari's developer settings during development and debug the background and popup with Web Inspector. On iOS we test in the simulator and on real devices, connecting Web Inspector from the Mac. We test with access granted for one day, for one site and for all sites, with the extension turned off, and after app updates. We also test in Private Browsing, where users must allow the extension separately.
What you get
- Device and OS test matrix
- Permission scenario results
- Bug fixes before submission
- 6
App Store Connect, TestFlight and App Review
We create the app record in App Store Connect, write the description, prepare screenshots of the extension in action on each device size and fill in the App Privacy details to match what the extension really collects. We run a TestFlight beta with your team or real users first. Then we submit with clear review notes that tell the reviewer how to enable and test the extension, which avoids the common rejection where the reviewer cannot find it. If App Review rejects the build, we reply in Resolution Center and fix the cause.
What you get
- App Store listing and privacy details
- TestFlight beta
- Approved App Store release
- 7
Launch and long-term support
Apple ships major Safari, macOS and iOS versions every year, with smaller updates in between. We test on Apple's beta releases in the summer so your extension is ready on launch day in the autumn. We watch crash reports in Xcode Organizer, App Store reviews and support requests, and release updates through the same TestFlight and review pipeline.
What you get
- Release checklist
- Yearly OS beta testing
- Post-launch support plan
Want this process for your project? Tell us what you're building and get a free, fixed quote.
Get a free quoteTechnical expertise
Safari extension development expertise
Safari extensions fail in their own special ways. These are the areas our developers watch most closely.
Packaging inside a native app
The extension is an app extension target inside a macOS or iOS app, so it follows Apple's rules for code signing, entitlements, bundle IDs and versioning. The app and extension versions must stay in step, and both must be signed by the same team. We set this up once in Xcode and automate it so every build is signed correctly.
Converter output is a starting point
Apple's converter is very useful, but it only copies your files into a project and warns about unsupported keys. It does not rewrite code that depends on Chrome-only APIs, fix permissions or build onboarding. We use its report as a to-do list and finish each item properly.
Privacy prompts and website access
Safari lets users grant access per website and for limited time, and can show a prompt when the extension tries to act on a page. We request access only when a feature needs it, explain why in the interface and handle the case where access is denied without errors.
App Review for extensions
App Review looks at the whole app, not only the extension. The app must give users value and clear instructions, the extension must work on the current Safari, and privacy details must be accurate. We write review notes and a short demo path so reviewers can test the extension quickly.
iOS limits and memory
Safari on iPhone and iPad gives extensions less memory and unloads background scripts often. We keep content scripts small, avoid large in-memory caches and store state in browser.storage or the shared app group, so the extension stays fast and stable on older devices.
Skills and tools our Safari extension developers use
Safari extension platform
- Safari Web Extensions
- WebExtensions API
- Manifest V2 and V3
- declarativeNetRequest
- Native messaging
- safari-web-extension-converter
Apple and native development
- Xcode
- Swift
- SwiftUI
- App groups
- Keychain
- SafariServices
Web extension code
- TypeScript
- React
- Svelte
- Vite
- WXT
- webextension-polyfill
Testing and distribution
- Safari Web Inspector
- iOS Simulator and real devices
- TestFlight
- App Store Connect
- Xcode Cloud or fastlane
- Developer ID notarization
Why Dware
Why hire Safari extension developers from Dware
Web and Apple skills in one team
You do not need to hire a web extension developer and an iOS developer separately. Our Safari extension developers cover both, so nothing falls between the cracks.
Mac, iPhone and iPad together
We plan one project for every Apple device from the start, which saves time and gives your users the same experience everywhere.
App Review experience
We prepare listings, privacy details and review notes that help reviewers test the extension, and we handle rejections calmly and quickly.
Senior review and full ownership
Every change is reviewed by a second senior engineer. The code lives in your repository, the app ships from your Apple developer account and all code and IP are yours.
Quick start, low risk
We match you with a developer within 48 hours and start with a two-week risk-free trial. NDA on request.
Ways to work with us
Ways to hire Safari extension developers
Hire one developer, add a whole team, or hand us a fixed-scope project. Tell us what you need and we'll send a free, fixed quote, usually within one business day.
Dedicated developer
Most popularA senior engineer who works only on your product, full-time or part-time.
- Joins your Slack, standups and Git
- Same developer every day
- Scale up or down monthly
Team extension
Two or more developers, plus QA or a tech lead, added to your team.
- Matched to your stack and time zone
- One point of contact
- Add or remove people any month
Fixed-scope project
A clear scope, timeline and fixed quote. Ideal for MVPs, apps and fixes.
- Free, fixed quote before we start
- Milestones you approve
- Support after launch
FAQ
Hire Safari extension developers: frequently asked questions
Can you convert my Chrome extension to Safari?
Yes. We start with Apple's converter, which puts your extension into an Xcode project with Mac and iOS app targets and lists any unsupported manifest keys. We then fix the code that relies on APIs Safari does not support, adjust permissions for Safari's per-site model, build the containing app and onboarding, and submit it to the App Store. You keep one shared web codebase for all browsers.
Do I need an Apple developer account?
Yes. To publish on the App Store, or to sign and notarize a Mac app for distribution outside it, you need an Apple Developer Program membership. We recommend an organisation account in your company's name, so the app and its reviews belong to your business. We can guide you through enrolment and then work as members of your team in App Store Connect.
How much does it cost to hire Safari extension developers?
It depends on whether we convert an existing extension or build a new one, which devices you need, how much native Swift work is involved, and how complex the backend and account features are. App Store preparation and review are part of the scope. After a short call we send a free, fixed quote so you know the full cost up front.
Does a Safari extension work on iPhone and iPad?
Yes. Safari Web Extensions run on iOS and iPadOS 15 and later. One Xcode project can include a Mac app and an iOS app that share the same extension code. Mobile Safari has stricter rules, such as a non-persistent background and less memory, so we design and test for those limits on real devices.
Why does Safari need a native app around the extension?
Apple distributes Safari extensions as part of apps, so they go through the same signing, review and update system as any other app. The containing app also gives you a place to explain the extension, guide users to enable it and hold settings or sign-in. Users install the app, then turn on the extension in Safari settings.
How long does App Review take for a Safari extension?
Many apps are reviewed within a day or two, but it can take longer, and a rejection adds another round. The most common delays come from reviewers not knowing how to enable the extension, privacy details that do not match the app, or an app that offers too little on its own. We write clear review notes and test the full path before submitting, which keeps delays to a minimum.
Why do users install the app but never use the extension?
Safari extensions are off by default. After installing, users must enable them in Safari settings and grant access to websites. Many apps never explain this. We build a short onboarding flow in the containing app that shows each step, opens Safari's extension settings on the Mac, and checks whether the extension is enabled.
Can the extension share data with our native app?
Yes. We use native messaging so the extension can call Swift code in the app extension, and app groups or the Keychain so the app and extension can share sign-in tokens and settings securely. This is useful when your product is already a Mac or iOS app and the extension should act as part of it.
Who owns the app and the code?
You do. The app is published from your Apple developer account, the code lives in your repository and all code and IP belong to you. We sign an NDA on request and can hand over the full project with documentation at any time.
More developers you can hire
Hire Chrome extension developers
Hire Chrome extension developers who build fast Manifest V3 extensions and pass Chrome Web Store review. Senior engineers, matched in 48 hours. Get a free quote.
Learn moreHire Firefox extension developers
Hire Firefox extension developers to build or port add-ons, pass AMO signing and review, and ship to desktop and Android. Book a free consultation today.
Learn moreHire iOS developers
Hire iOS developers who build native Swift and SwiftUI apps for iPhone, iPad and Apple Watch and get them through App Store review. Get a free quote today.
Learn moreGet your extension into Safari
Tell us about your extension or your idea and the Apple devices you want to reach. We will reply with a clear plan and a free, fixed quote, and match you with a senior Safari extension developer within 48 hours.