Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. FengNiao

FengNiao

MITSwift0.13.0

A command-line tool for cleaning unused image and resource files in Xcode projects.

GitHubGitHub
3.6k stars246 forks0 contributors

What is FengNiao?

FengNiao is a command-line tool that scans Xcode projects to identify and delete unused image and resource files. It helps iOS and macOS developers reduce app bundle size and clean up project clutter by automatically detecting resources that are no longer referenced in code.

Target Audience

iOS and macOS developers working on Xcode projects who need to manage asset files and optimize app size by removing unused resources.

Value Proposition

Developers choose FengNiao for its simplicity, safety features like interactive prompts, and seamless Xcode integration. It offers precise control over resource cleanup with configurable scanning options, unlike manual cleanup or broader project cleaning tools.

Overview

A command line tool for cleaning unused resources in Xcode.

Use Cases

Best For

  • Removing unused images from iOS app projects to reduce bundle size
  • Cleaning up legacy asset files in large Xcode projects
  • Automating resource cleanup as part of CI/CD pipelines for iOS apps
  • Optimizing macOS app projects by deleting unreferenced resources
  • Managing asset catalogs by identifying unused image sets
  • Integrating resource cleanup into Xcode build phases for regular maintenance

Not Ideal For

  • Projects with dynamically loaded assets or runtime resource references, as FengNiao uses static code analysis and may miss those
  • Teams requiring a graphical user interface out-of-the-box, since the GUI app version needs manual compilation
  • Non-Xcode projects or cross-platform frameworks like React Native or Flutter, as it's tailored for iOS/macOS Xcode workflows
  • Developers needing to clean up unused code files or non-image resources, as it focuses only on specified image and asset file types

Pros & Cons

Pros

Precise Resource Detection

Uses regex to scan Swift, Objective-C, XIB, and Storyboard files for unused image references, ensuring accurate identification based on the 'How it works' section.

Flexible Configuration Options

Supports custom resource extensions, file types, and exclude paths like Carthage or Pods, allowing tailored scanning as shown in the --help output.

Seamless Xcode Integration

Can be added as a Run Script build phase to automate cleanup during each build, integrating directly into development workflows per the README instructions.

Safety-First Design

Includes interactive prompts, list-only mode, and --skip-proj-reference options to prevent accidental deletions, emphasizing control and backup.

Cons

Static Analysis Limitations

Relies on regex-based string matching in code files, which may miss dynamically referenced assets or cause false positives in complex projects, as implied by the scanning method.

No Pre-Built GUI

The GUI app version requires manual compilation from source, limiting accessibility for users who prefer ready-to-use graphical tools, as noted in the App folder section.

Project File Inconsistency Risk

Using --skip-proj-reference can leave .pbxproj files unchanged after deletion, potentially causing build errors if references aren't manually updated, as warned in the help text.

Frequently Asked Questions

Quick Stats

Stars3,574
Forks246
Contributors0
Open Issues24
Last commit1 month ago
CreatedSince 2017

Tags

#resource-cleanup#developer-tools#slim#images#command-line-tool#resources#ios-development#swift#xcode#app-optimization#macos#cleanup#asset-management

Built With

S
Swift Package Manager
S
Swift

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

inferinfer

A static analyzer for Java, C, C++, and Objective-C

Stars15,637
Forks2,093
Last commit2 days ago
R.swiftR.swift

Strong typed, autocompleted resources like images, fonts and segues in Swift projects

Stars9,575
Forks780
Last commit1 year ago
SwiftGenSwiftGen

The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

Stars9,543
Forks766
Last commit1 month ago
XcodeGenXcodeGen

A Swift command line tool for generating your Xcode project

Stars8,497
Forks883
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub