# alibaba/coobjc

coobjc provides coroutine support for Objective-C and Swift. We added await method、generator and actor model like C#、Javascript and Kotlin. For convenience, we added coroutine categories for some Foundation and UIKit API in cokit framework like NSFileManager, JSON, NSData, UIImage etc. We also add tuple support in coobjc.

Repository: https://github.com/alibaba/coobjc
Canonical: https://ross.abutalabs.com/products/coobjc
Homepage: https://github.com/alibaba/coobjc
Language: Objective-C
License: Apache-2.0
License Family: permissive
Topics: coroutine, coroutine-library, await, await-promises, actor-model, actor, generator, tuple, objective-c, c, arm64, asm, swift, objc, ios
Last push: 2024-06-19T03:33:30+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": 2745, "days_push": 805, "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 4012, forks 520 (observed 2026-08-28T04:08:32.322053+00:00)

## What it is
coobjc is a coroutine library for Objective-C and Swift on iOS, adding async/await, generators, actor model, and tuple support similar to C#, JavaScript, and Kotlin. It also provides coroutine-friendly categories for Foundation and UIKit APIs via the cokit framework.

## Use cases
- avoid callback hell in iOS async code
- use async/await in Objective-C
- write coroutine-based Swift before structured concurrency
- implement actor model on iOS
- use generators and yield in Objective-C
- convert completion-handler APIs to awaitable calls

## When to choose
- maintaining or building Objective-C/Swift iOS apps stuck with callback-based async code
- you need generators or actor model in Objective-C
- targeting iOS versions before Swift async/await

## When to avoid
- starting new Swift projects that can use built-in Swift structured concurrency (async/await)
- non-Apple platforms
- you need a library with frequent updates and broad community support

## Facets
- artifact type: library
- maturity: maintenance
- function: concurrency, developer-tools
- domain: mobile-development, programming-languages, developer-tools
- platform: cpp
- tags: coroutine, async-await, generator, actor-model, objective-c, tuple, gcd, callback-hell, ios, swift, mobile

## Member repositories
- alibaba/coobjc (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:32.322053+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-29T18:24:00.710309+00:00, confidence not recorded.
  - readme: https://github.com/alibaba/coobjc (fetched 2026-08-28T04:08:32.322053+00:00, sha 930bcb367ad4)
  - homepage: https://github.com/alibaba/coobjc (fetched 2026-08-29T09:16:50.018504+00:00, sha ac762b79dd01)
- Data as of 2026-08-30T08:39:29.467469+00:00.
