Skip to content

Latest commit

 

History

History
189 lines (157 loc) · 18 KB

README.md

File metadata and controls

189 lines (157 loc) · 18 KB

ios-developer-tools

A collection of tools that an iOS developer should know.

IDE

  • Xcode you will spend most of your time with it
  • Atom + Nuclide If you need to write react-native Code
  • MacDown open source Markdown editor for macOS
  • Visual Studio Code Visual Studio Code is a source code editor. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
  • starUML A sophisticated software modeler for agile and concise modeling

Dependency Manager

  • CocoaPods dependency manager for Swift and Objective-C Cocoa projects
  • Carthage A simple, decentralized dependency manager for Cocoa

Platform

  • Firebase Firebase is a BaaS  (Backend-as-a-Service) that can be your server, datastore, and API at the same time.
    • Crashlytics Spend less time troubleshooting & more time building great apps.
  • Parse Build applications faster with object and file storage, user authentication, push notifications, dashboard and more out of the box.

Command Line Tool

  • xcodebuild and - xcrun command line tool to build and archive app
  • xctool An extension for Apple's xcodebuild that makes it easier to test iOS and macOS apps.
  • xcbuild xcbuild is an Xcode-compatible build tool with the goal of providing faster builds, better documentation of the build process and running on multiple platforms (macOS, Linux, and Windows)
  • synx A command-line tool that reorganizes your Xcode project folder to match your Xcode groups
  • Kin Simple PBXProj Verifier (If you has problem to git merge the project.pbxproj file)
  • tmux tmux is a "terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal.
  • iTerm2 iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.10 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.
  • xcpretty Flexible and fast xcodebuild formatter
  • Jazzy Soulful docs for Swift & Objective-C
  • xiblint A tool for linting storyboard and xib files
  • brew 🍺 The missing package manager for macOS
  • cloc cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
  • xcproj Command line tool for manipulating Xcode project files
  • autojump A cd command that learns - easily navigate directories from the command line
  • SwiftFormat A code library and command-line formatting tool for reformatting Swift code
  • ios-deploy Install and debug iPhone apps from the command line, without using Xcode

DEBUG

  • Flipper Flipper is a platform for debugging mobile apps on iOS and Android. Visualize, inspect, and control your apps from a simple desktop interface. Use Flipper as is or extend it using the plugin API.
  • chisel Chisel is a collection of LLDB commands to assist debugging iOS apps.
  • CocoaLumberjack A fast & simple, yet powerful & flexible logging framework for Mac and iOS
  • PonyDebuggerRemote network and data debugging for your native iOS app using Chrome Developer Tools
  • dSYMTools Analyze crash log with DSYM file
  • FBRetainCycleDetector iOS library to help detecting retain cycles in runtime.
  • FLEX An in-app debugging and exploration tool for iOS
  • GodEye Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened his eyes
  • injectionforxcode Injection for Xcode is an Xcode plugin (available via Alcatraz) or AppCode that dynamically inserts new Swift / Objective-C code into a running app in order to speed up your build process
  • Instruments Instruments is a powerful and flexible performance-analysis and testing tool that’s part of the Xcode tool set.
  • WBWebViewConsole In-App debug console for your UIWebView & WKWebView
  • ios-webkit-debug-proxy A DevTools proxy (Chrome Remote Debugging Protocol) for iOS devices (Safari Remote Web Inspector).
  • spy-debugger WebView,WeChat WebView,Safari Debugger
  • AppleTrace Objective C message tracing tool for iOS/macOS
  • iOS Console iOS Console allows you to view iOS console logs directly from your Mac
  • iSimulator iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator.
  • DoraemonKit A full-featured App (iOS & Android) development assistant.
  • NWPusher OS X and iOS application and framework to play with the Apple Push Notification service (APNs)

Project Analyze

  • oclint Static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems.
  • swiftlint A tool to enforce Swift style and conventions.
  • objc-dependency-visualizer Objective-C and Swift dependency visualizer. It's tool that helps to visualize current state of your project. It's really easy to see how tight your classes are coupled.
  • WHC_ScanUnreferenceImageTool Scanning project does not use images in tool, delete without reference images to reduce the packaging volume
  • FengNiao A command line tool for cleaning unused resources in Xcode.
  • IBAnalyzer Find common xib and storyboard-related problems without running your app or writing unit tests.
  • Simian Similarity Analyser
  • cartool Export images from OS X / iOS .car CoreUI archives
  • XcodeZombieCode A source-code level/Clang Approach
  • Faux Pas Find errors in your iOS or Mac project(Not free)
  • xcodeproj 📝 Read, update and write your Xcode projects https://tuist.github.io/xcodeproj/
  • objc_dep Graph the import dependencies in an Objective-C project
  • AssetCatalogTinkerer An app that lets you open .car files and browse/extract their images.
  • periphery Eliminate Unused Swift Code.

Network

  • Charles Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet.
  • Postman Faster, easier API development
  • iperf iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool
  • Lantern Lantern delivers fast access to the open Internet
  • shadowsocks A secure socks5 proxy,designed to protect your Internet traffic.
  • wireshark Wireshark is the world’s foremost and widely-used network protocol analyzer. It lets you see what’s happening on your network at a microscopic level and is the de facto (and often de jure) standard across many commercial and non-profit enterprises, government agencies, and educational institutions.
  • netfox A lightweight, one line setup, iOS / OSX network debugging library! 🦊
  • GCDWebServer GCDWebServer is a modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS, macOS & tvOS apps.
  • JSONLint JSONLint is a validator and reformatter for JSON, a lightweight data-interchange format

Data

  • sqlitebrowser DB Browser for SQLite
  • SimPholders Access all applications from your menu bar,and quick open Sandbox of Simulator
  • SimSim Fast, stable, free alternative to SimPholders
  • SQLCipher SQLCipher is an SQLite extension that provides 256 bit AES encryption of database files

Compiler

  • ccache ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again
  • swiff Human readable time diffs on lines of output when running e.g. build commands like fastlane
  • ClangKit ClangKit provides an Objective-C frontend to LibClang. Source tokenization, diagnostics and fix-its are actually implemented.
  • Optimizing-Swift-Build-Times Collection of advice on optimizing compile times of Swift projects.
  • Ninja Ninja is a small build system with a focus on speed
  • emscripten An LLVM-to-JavaScript Compiler

Test

  • TestFlight TestFlight makes it easy to invite users to test your apps and collect valuable feedback before releasing your apps on the App Store.

Apple

Other

  • Jenkins Continuous integration (CI)
  • GitLabCI CI in gitlab
  • danger Formalize your Pull Request etiquette.
  • fastlane Automate building and releasing your iOS and Android apps
  • appledoc Objective-C API documentation generator
  • Source Tree Harness the power of Git and Hg in a beautifully simple application
  • gitkraken The legendary Git GUI client for Windows, Mac and Linux
  • PaintCode Turn drawings into code.
  • reflector wireless mirroring and streaming receiver
  • Sketch Sketch gives you the power, flexibility and speed you always wanted in a lightweight and easy-to-use package. Finally you can focus on what you do best: Design.
  • Haiku Design components that snap into any codebase
  • Sketch Sketch gives you the power, flexibility and speed you always wanted in a lightweight and easy-to-use package. Finally you can focus on what you do best: Design.
  • Dribbble Dribbble is the leading destination to find & showcase creative work and home to the world's best design professionals
  • gif brewery Easy to create GIF
  • jazzy Soulful docs for Swift & Objective-C
  • ImageOptim ImageOptim makes images load faster
  • TinyPng.com Smart PNG and JPEG compression
  • OOMDetector OOMDetector is a memory monitoring component for iOS which provides you with OOM monitoring, memory allocation monitoring, memory leak detection and other functions.
  • lottie-ios An iOS library to natively render After Effects vector animations
  • public-apis A collective list of public JSON APIs。

Reverse engineering

  • canijailbreak jailbreak tools
  • ios-app-signer This is an app for OS X that can (re)sign apps and bundle them into ipa files that are ready to be installed on an iOS device.
  • MonkeyDev CaptainHook Tweak、Logos Tweak and Command-line Tool、Patch iOS Apps, Without Jailbreak.
  • class dump a command-line utility for examining the Objective-C runtime information stored in Mach-O files
  • Keychain-DumperA tool to check which keychain items are available to an attacker once an iOS device has been jailbroken
  • reveal Reveal brings powerful runtime view debugging to iOS developers
  • theos Unified cross-platform Makefile system
  • iPhoneDevWiki Wiki about jailbroken iOS development
  • Hopper Disassembler Reverse engineering tool that lets you disassemble, decompile and debug your applications.
  • MachOView View the raw data of mach-o(iOS executable file format)
  • frida Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
  • cycript Cycript allows developers to explore and modify running applications on either iOS or Mac OS X using a hybrid of Objective-C++ and JavaScript syntax through an interactive console that features syntax highlighting and tab completion.
  • dumpdecrypted Dumps decrypted mach-o files from encrypted iPhone applications from memory to disk. This tool is necessary for security researchers to be able to look under the hood of encryption.
  • passionfruit Simple iOS app blackbox assessment tool. Powered by frida.re and vuejs.
  • objection Assess mobile applications and their security posture without the need for a jailbroken or rooted mobile device.
  • Hikari LLVM Obfuscator https://keybase.io/team/hikari
  • Clutch Fast iOS executable dumper
  • otool The otool command displays specified parts of object files or libraries. It can also disassemble:
  • nm nm is a utility that displays the symbol table of a given binary.
  • jtool The jtool command is meant to meet and exceed the functionality to XCode's otool(1), picking up along the way additional Mach-O commands such as atos(1), dyldinfo(1), nm(1), segedit(1), pagestuff(1), strings(1) , and even codesign(1) and the informal ldid.
  • capstone Capstone disassembly/disassembler framework
  • class-dump-swift Swift Class Dumper
  • iosre Chinese reverse engineering bbs
  • Retriever Retrieving InfoPlist without Jailbreaking on iOS Devices
  • iOS-Runtime-Headers iOS Objective-C headers as derived from runtime introspection
  • iReSign iReSign allows iDevice app bundles (.ipa) files to be signed or resigned with a digital certificate from Apple for distribution.
  • MachO-Kit A C/Objective-C library for parsing Mach-O files.
  • insert_dylib Command line utility for inserting a dylib load command into a Mach-O binary
  • yololib dylib injector for mach-o binaries

App Guard

  • ios-class-guard Simple Objective-C obfuscator for Mach-O executables
  • obfuscator obfuscator
  • Obfuscator-iOS Secure your app by obfuscating all the hard-coded security-sensitive strings.
  • swiftshield Swift Obfuscator that protects iOS apps against reverse engineering attacks.