Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. abandoned-strings

abandoned-strings

MITSwift

Command line tool that detects unused resource strings in iOS or macOS applications.

GitHubGitHub
376 stars64 forks0 contributors

What is abandoned-strings?

Abandoned Strings is a command line tool that detects unused resource strings in iOS or macOS applications by scanning source code files. It helps developers identify and remove localization strings that are no longer referenced, reducing app bloat and maintenance overhead.

Target Audience

iOS and macOS developers working on localized applications who need to clean up unused strings in their `.strings` files.

Value Proposition

It provides a simple, automated way to find abandoned strings without manual code review, though it uses a basic heuristic that may not catch all edge cases.

Overview

Command line program that detects unused resource strings in an iOS or OS X application.

Use Cases

Best For

  • Cleaning up unused localization strings in iOS apps
  • Reducing app size by removing unnecessary resource strings
  • Auditing `.strings` files for abandoned identifiers
  • Maintaining localization files in Swift or Objective-C projects
  • Identifying unreferenced string keys in macOS applications
  • Automating string resource management in Xcode projects

Not Ideal For

  • Projects where string identifiers are dynamically constructed or referenced via constants
  • Codebases with extensive commented-out code that should be ignored
  • Cross-platform applications targeting Android or web, as it only supports iOS/macOS file types
  • Teams needing high-precision, context-aware analysis for complex localization setups

Pros & Cons

Pros

Simple CLI Interface

Easy to run with a single terminal command pointing to the source directory, as shown in the README's usage example.

Multi-Language Support

Scans Objective-C (.h, .m), Swift (.swift), and JavaScript bundle (.jsbundle) files, covering key iOS/macOS development languages.

Fast Heuristic Detection

Uses a straightforward search algorithm that prioritizes speed and simplicity, making it quick for initial scans of unused strings.

Focused Localization Cleanup

Specifically targets .strings files to help reduce app size and maintenance overhead by identifying abandoned resource strings.

Cons

Inaccurate with Comments

Does not account for commented-out code, so it may incorrectly flag strings referenced in comments as abandoned, leading to false positives.

No Contextual Understanding

Cannot differentiate between string identifiers used for localization and coincidental text matches, as admitted in the README's 'More details' section.

Limited to Static References

Ineffective when strings are referenced via constants or dynamically constructed, which the README explicitly states reduces reliability.

Potentially Outdated

Last updated in 2016 for Swift 3, with no indication of recent maintenance, so it may not support newer Swift versions or modern code patterns.

Frequently Asked Questions

Quick Stats

Stars376
Forks64
Contributors0
Open Issues6
Last commit5 years ago
CreatedSince 2016

Tags

#ios#code-cleanup#command-line-tool#resource-management#localization#swift#macos#static-analysis

Built With

S
Swift

Included in

iOS51.7k
Auto-fetched 9 hours ago

Related Projects

inferinfer

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

Stars15,706
Forks2,100
Last commit5 days ago
R.swiftR.swift

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

Stars9,560
Forks776
Last commit1 year ago
SwiftGenSwiftGen

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

Stars9,546
Forks766
Last commit4 months ago
XcodeGenXcodeGen

A Swift command line tool for generating your Xcode project

Stars8,761
Forks904
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