{"adoption": {"forks": 651, "observed_at": "2026-08-28T04:08:11.811858+00:00", "stars": 3617}, "canonical_url": "https://ross.abutalabs.com/products/openshare", "card": {"archived": false, "artifact_type": "library", "description": "不用官方SDK，利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付。", "domain": ["mobile-development", "social-media", "apis"], "enriched": true, "function": ["sdk", "auth", "middleware"], "health_score": 20, "homepage": "http://www.gfzj.us/series/openshare/", "language": "Objective-C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "abandoned", "member_repos": ["100apps/openshare"], "name": "100apps/openshare", "platform": [], "pushed_at": "2018-09-24T07:46:18+00:00", "repo": "100apps/openshare", "stars": 3617, "tags": ["social-sharing", "oauth", "wechat", "qq", "weibo", "alipay", "objective-c", "no-official-sdk", "inter-app-communication", "ios", "mobile", "swift"], "topics": ["openshare"], "urls": [], "use_cases": ["share content to WeChat without official SDK", "add QQ login to iOS app", "integrate Weibo sharing in Objective-C", "avoid bloating app with multiple social SDKs", "implement social OAuth login on iOS", "study inter-app communication mechanisms between apps", "share images and links to Chinese social networks"], "what_it_is": "OpenShare is a lightweight Objective-C iOS library that replaces official social platform SDKs by directly communicating with mobile clients like WeChat, QQ, Weibo, Renren, and Alipay for sharing, OAuth login, and payments. It wraps inter-app URL scheme communication into a simple block-based API with only a few hundred lines of code.", "when_to_avoid": ["you need actively maintained support for current platform API changes", "your app targets Android or cross-platform frameworks", "you require official platform certification or guaranteed long-term compatibility", "you need platforms beyond QQ, WeChat, Weibo, Renren, or Alipay"], "when_to_choose": ["building an iOS app that needs sharing or login with Chinese social platforms without heavy official SDKs", "you want a tiny, open-source alternative with readable source code", "you need a unified block-based API across WeChat, QQ, and Weibo"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openshare", "repo": "100apps/openshare", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "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:08:11.811858+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:11.811858+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:59.546535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68c7a108b144362925291c03f3430b9ade30b3a029441b1c8c791858b3967ccb", "fetched_at": "2026-08-28T04:08:11.811858+00:00", "kind": "readme", "missing": false, "url": "https://github.com/100apps/openshare"}, {"content_hash": "5aebaf20a4887bd7cdc67a166dc473eb0834f1fbbdf3a83b4a28d86dae944dc0", "fetched_at": "2026-08-29T09:26:39.142608+00:00", "kind": "homepage", "missing": false, "url": "http://www.gfzj.us/series/openshare/"}, {"content_hash": "013fe83de5e1ec42e548553d2ebb8729eba5071cadb433bb9343ddb44e82265f", "fetched_at": "2026-08-29T09:26:39.145623+00:00", "kind": "site_page", "missing": false, "url": "http://www.gfzj.us/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4124, "days_push": 2900, "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}}