{"adoption": {"forks": 118, "observed_at": "2026-08-28T04:04:31.532364+00:00", "stars": 1368}, "canonical_url": "https://ross.abutalabs.com/products/simulatorremotenotifications", "card": {"archived": false, "artifact_type": "library", "description": "Library to send mock remote notifications to the iOS simulator", "domain": ["mobile-development", "developer-tools", "testing"], "enriched": true, "function": ["testing", "mocking", "sdk"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["acoomans/SimulatorRemoteNotifications"], "name": "acoomans/SimulatorRemoteNotifications", "platform": [], "pushed_at": "2021-07-07T02:52:49+00:00", "repo": "acoomans/SimulatorRemoteNotifications", "stars": 1368, "tags": ["ios-simulator", "push-notifications", "objective-c", "mock-notifications", "udp", "cocoapods", "ios", "macos", "mobile"], "topics": [], "urls": [], "use_cases": ["test push notification handling in the iOS simulator", "send mock remote notifications without APNs", "debug didReceiveRemoteNotification delegate callbacks locally", "simulate background push notifications during development", "trigger remote notification payloads via UDP from scripts"], "what_it_is": "An Objective-C library that extends UIApplication to receive mock remote notifications on the iOS simulator via a mini UDP server. It includes a macOS companion app for sending JSON-formatted notification payloads without using Apple's Push Notification service.", "when_to_avoid": ["you need to send real push notifications to physical devices", "you need a maintained solution for modern iOS versions or Swift-based projects", "you require end-to-end testing against the actual Apple Push Notification service"], "when_to_choose": ["you need to test remote notification code paths in the iOS simulator where APNs is unavailable", "you want a lightweight local way to trigger push notification callbacks during development"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/simulatorremotenotifications", "repo": "acoomans/SimulatorRemoteNotifications", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:31.532364+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:02.467946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7b207d6315cfd86272545d2bb13e23bbc2206870728ec54a81b1584aaab5af58", "fetched_at": "2026-08-28T04:04:31.532364+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acoomans/SimulatorRemoteNotifications"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4949, "days_push": 1883, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}