Once, while troubleshooting a startup crash, I switched between five windows in succession.
Xcode for crash logs, Charles for packet capture, VSCode for configuration files after inspecting request data, and finally repackaging and uploading to TestFlight.
The issue itself wasn't complicated, but the development process had clearly become a workflow.
Today, iOS development can hardly rely on a single tool for everything. Code editing, dependency management, automated builds, device debugging, and release publishing—each phase is gradually being split up.
This article compiles 10 common iOS development tools currently used in practice. They may not all belong to the same category, but each plays a distinct role in real projects.
1. Xcode
No matter how the tool ecosystem changes, Xcode remains the core environment for iOS development.
Many tasks rely on it:
- Project management
- Interface Builder
- Simulator
- Certificate management
- Device debugging
Even if some developers have started writing Swift with VSCode, the final project build still goes back to the Xcode toolchain.
Especially when handling:
- Provisioning Profile
- Archive
- TestFlight
Xcode still plays a critical role in these processes.
2. VSCode
VSCode is no longer just a web development tool.
Many mobile teams now use it for:
- Swift files
- Flutter projects
- Configuration scripts
- Git management
The reason is straightforward:
Unified development context.
If a single project includes frontend, Node services, and Flutter modules, a unified editor reduces frequent switching.
AI plugins, Git plugins, and terminal capabilities also make it increasingly suitable for daily development.
3. Fastlane
Fastlane is more like a tool for automating development actions.
For example:
fastlane beta
It can automatically:
- Build the project
- Generate IPA
- Upload to TestFlight
For teams that need to repackage and test daily, such automation tools reduce repetitive operations.
4. CocoaPods
Although many Swift projects have migrated to SPM, CocoaPods still exists in numerous legacy projects.
Executing:
pod install
generates a workspace, which is then opened with Xcode.
Some older SDKs still depend on CocoaPods, so it won't disappear anytime soon.
5. Swift Package Manager (SPM)
SPM is Apple's official dependency management solution.
Its biggest advantage is being directly integrated into the Swift toolchain.
Many new projects now prefer:
- Using SPM to manage libraries
- Reducing workspace complexity
- Lowering third-party dependency management costs
For pure Swift projects, SPM is becoming increasingly common.
6. Charles
Many API issues don't originate in code, but occur during the request process.
Charles' role in iOS development mainly involves:
- Packet capture
- Inspecting API responses
- Analyzing network requests
- Simulating abnormal responses
For example:
- A missing field
- Incorrect headers
- HTTPS request failures
These issues become easier to locate through packet capture.
7. App Store Connect
Strictly speaking, it's not a development tool, but it's indispensable during the release phase.
This includes:
- TestFlight management
- Review submission
- Version information maintenance
- Crash log viewing
Many development actions ultimately converge here.
8. AppUploader
Some teams separate the "upload IPA" action.
AppUploader's focus is more on:
- Uploading installation packages
- Managing the release process
For scenarios where opening a full IDE frequently is inconvenient, it offers a more direct approach.
9. GitHub Actions
CI/CD tools have become increasingly common.
GitHub Actions can automatically execute after code commits:
- Compilation
- Testing
- Building
- Uploading
For collaborative projects, automated pipelines have gradually become part of the infrastructure.
10. Kuai Xie (kxapp)
Recently, I came across an interesting iOS development tool: Kuai Xie (kxapp).
It's quite different from the tools mentioned above.
Many tools solve problems in a specific phase, such as:
- Fastlane for automation
- Charles for packet capture
- VSCode for editing
Kuai Xie seems to attempt re-integrating several development phases.
Currently, it supports:
- Swift projects
- Objective-C projects
- Flutter projects
The editor is built on VSCode architecture, with its own integrated iOS compilation toolset.
After modifying a project, you can directly:
- Build
- Run on a device
- Generate an installation package
For those who frequently switch projects or want to reduce tool hopping, such integrated tools are worth paying attention to.
More tools, changing development approaches
Today's iOS development rarely involves "one IDE for everything."
More often, developers combine different tools:
- VSCode for coding
- Xcode for project management
- Fastlane for automated builds
- Charles for debugging APIs
- GitHub Actions for release workflows
There is no universal answer for tool selection.
Different teams form different workflows.
Top comments (0)