# chenfanfang/AvoidCrash

This framework can effective avoid crash by potential error code. For example  : If you insert a nil into a mutable array, this framework can avoid crash and note you that where cause crash.

Repository: https://github.com/chenfanfang/AvoidCrash
Canonical: https://ross.abutalabs.com/products/avoidcrash
Language: Objective-C
License: MIT
License Family: permissive
Last push: 2020-03-15T14:59:03+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3632, "days_push": 2362, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1645, forks 384 (observed 2026-08-28T04:05:16.268213+00:00)

## What it is
AvoidCrash is an Objective-C framework for iOS that uses runtime method swizzling to intercept common Foundation framework errors, such as inserting nil into a mutable array or array out-of-bounds access, preventing app crashes. It logs detailed information about the code that would have caused the crash so developers can locate and fix the underlying issue.

## Use cases
- prevent app crashes from nil inserted into mutable arrays
- avoid crashes from array index out of bounds
- handle nil keys when setting dictionary values
- log details of potential crashes instead of crashing in production
- report avoided crash info to crash collection SDKs like Bugly
- keep an iOS app alive when server returns malformed data

## When to choose
- you maintain a legacy Objective-C iOS app prone to Foundation-related crashes
- you want to prevent crashes caused by unexpected nil or malformed server data
- you need crash diagnostics without integrating a full crash reporting SDK

## When to avoid
- you are starting a new project in Swift where these Foundation pitfalls are less common
- you need a framework actively maintained and compatible with the latest iOS system versions
- you rely on the prefix-based swizzling mode, which the author discourages

## Facets
- artifact type: framework
- maturity: abandoned
- function: error-handling, developer-tools
- domain: mobile-development, developer-tools
- platform: -
- tags: objective-c, runtime-swizzling, crash-prevention, foundation, ios-app-stability, ios, macos

## Member repositories
- chenfanfang/AvoidCrash (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:16.268213+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:45:25.065575+00:00, confidence not recorded.
  - readme: https://github.com/chenfanfang/AvoidCrash (fetched 2026-08-28T04:05:16.268213+00:00, sha 0ce3e42ba077)
- Data as of 2026-08-30T08:39:29.467469+00:00.
