{ "total_count": 7, "incomplete_results": false, "items": [ { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537/events", "html_url": "https://github.com/ionic-team/capacitor/issues/8537", "id": 4954684782, "node_id": "I_kwDOBqFoms8AAAABJ1J9bg", "number": 8537, "title": "Capacitor 8.4.1/9.0.0-alpha SDK is stale (Xcode 26.0/iOS 26.0), and self-rebuilding to fix it breaks Apple's SDK signature requirement (ITMS-91065)", "user": { "login": "para-digm-fckr", "id": 269561575, "node_id": "U_kgDOEBEu5w", "avatar_url": "https://avatars.githubusercontent.com/u/269561575?v=4", "gravatar_id": "", "url": "https://api.github.com/users/para-digm-fckr", "html_url": "https://github.com/para-digm-fckr", "followers_url": "https://api.github.com/users/para-digm-fckr/followers", "following_url": "https://api.github.com/users/para-digm-fckr/following{/other_user}", "gists_url": "https://api.github.com/users/para-digm-fckr/gists{/gist_id}", "starred_url": "https://api.github.com/users/para-digm-fckr/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/para-digm-fckr/subscriptions", "organizations_url": "https://api.github.com/users/para-digm-fckr/orgs", "repos_url": "https://api.github.com/users/para-digm-fckr/repos", "events_url": "https://api.github.com/users/para-digm-fckr/events{/privacy}", "received_events_url": "https://api.github.com/users/para-digm-fckr/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignees": [ { "login": "markemer", "id": 453705, "node_id": "MDQ6VXNlcjQ1MzcwNQ==", "avatar_url": "https://avatars.githubusercontent.com/u/453705?v=4", "gravatar_id": "", "url": "https://api.github.com/users/markemer", "html_url": "https://github.com/markemer", "followers_url": "https://api.github.com/users/markemer/followers", "following_url": "https://api.github.com/users/markemer/following{/other_user}", "gists_url": "https://api.github.com/users/markemer/gists{/gist_id}", "starred_url": "https://api.github.com/users/markemer/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/markemer/subscriptions", "organizations_url": "https://api.github.com/users/markemer/orgs", "repos_url": "https://api.github.com/users/markemer/repos", "events_url": "https://api.github.com/users/markemer/events{/privacy}", "received_events_url": "https://api.github.com/users/markemer/received_events", "type": "User", "user_view_type": "public", "site_admin": false } ], "milestone": null, "comments": 3, "created_at": "2026-07-23T02:00:15Z", "updated_at": "2026-08-07T14:27:29Z", "closed_at": null, "assignee": { "login": "markemer", "id": 453705, "node_id": "MDQ6VXNlcjQ1MzcwNQ==", "avatar_url": "https://avatars.githubusercontent.com/u/453705?v=4", "gravatar_id": "", "url": "https://api.github.com/users/markemer", "html_url": "https://github.com/markemer", "followers_url": "https://api.github.com/users/markemer/followers", "following_url": "https://api.github.com/users/markemer/following{/other_user}", "gists_url": "https://api.github.com/users/markemer/gists{/gist_id}", "starred_url": "https://api.github.com/users/markemer/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/markemer/subscriptions", "organizations_url": "https://api.github.com/users/markemer/orgs", "repos_url": "https://api.github.com/users/markemer/repos", "events_url": "https://api.github.com/users/markemer/events{/privacy}", "received_events_url": "https://api.github.com/users/markemer/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": null, "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "We're hitting a real catch-22 shipping a Capacitor iOS app right now, and since Capacitor and Cordova are both on Apple's \"commonly used third-party SDK\" signature list, this is likely affecting every app trying to comply with current App Store requirements, not just ours.\n\n**The bind:**\n\n1. Apple's App Review is rejecting submissions with ITMS-90111 (\"Unsupported SDK or Xcode version, app submissions must use the latest Xcode and SDK Release Candidates\") whenever the app bundles a framework built with an older SDK. The official `Capacitor.xcframework`/`Cordova.xcframework` from `capacitor-swift-pm` (checked through 8.4.2 and 9.0.0-alpha.6, both published mid-July 2026) are still built with Xcode 26.0/iOS 26.0, not rebuilt against anything newer even though Xcode 26.6 has been out for a while.\n\n2. To work around that, we rebuilt Capacitor.framework and Cordova.framework ourselves from the open source 8.4.1 tag, compiled with the current Xcode. That fixed ITMS-90111, but broke something else: Apple's SDK signature program requires \"commonly used\" SDKs to carry a signature that only the registered publisher, Drifty Co in this case, can produce (we confirmed the official binary carries one at the xcframework level, `_CodeSignature/`, tied to Team ID 9YN2HU59K8, and that our rebuild has none, since it's cryptographically bound to the exact compiled bytes of your release). Self-rebuilding structurally can't produce a valid signature no matter how faithfully we compile from your own source.\n\n3. We confirmed both failure modes directly and cleanly: our rebuilt frameworks (current SDK, no valid signature) get ITMS-91065. The genuine official 8.4.1 frameworks (valid signature, stale SDK) get ITMS-90111, verbatim RC-requirement text, on a completely unrelated stable Xcode 26.6 host, ruling out any host-machine explanation.\n\nSo right now there is no way to ship a compliant Capacitor iOS app: current-SDK builds fail the signature check, and signed builds fail the SDK-freshness check.\n\n**Ask:** is there a release planned that rebuilds the xcframework binaries against a current Xcode/SDK while keeping the real Apple SDK signature intact? Given Apple's tightened enforcement this cycle, this seems likely to hit a lot of Capacitor apps soon if it hasn't already. Happy to share our test archives/logs if useful for reproducing this.", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/8537/timeline", "performed_via_github_app": null, "state_reason": null, "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176/events", "html_url": "https://github.com/ionic-team/capacitor/issues/7176", "id": 2067399129, "node_id": "I_kwDOBqFoms57OgHZ", "number": 7176, "title": "feat: Add required Privacy Manifest file for iOS", "user": { "login": "davidkroeg", "id": 28301042, "node_id": "MDQ6VXNlcjI4MzAxMDQy", "avatar_url": "https://avatars.githubusercontent.com/u/28301042?v=4", "gravatar_id": "", "url": "https://api.github.com/users/davidkroeg", "html_url": "https://github.com/davidkroeg", "followers_url": "https://api.github.com/users/davidkroeg/followers", "following_url": "https://api.github.com/users/davidkroeg/following{/other_user}", "gists_url": "https://api.github.com/users/davidkroeg/gists{/gist_id}", "starred_url": "https://api.github.com/users/davidkroeg/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/davidkroeg/subscriptions", "organizations_url": "https://api.github.com/users/davidkroeg/orgs", "repos_url": "https://api.github.com/users/davidkroeg/repos", "events_url": "https://api.github.com/users/davidkroeg/events{/privacy}", "received_events_url": "https://api.github.com/users/davidkroeg/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 793249087, "node_id": "MDU6TGFiZWw3OTMyNDkwODc=", "url": "https://api.github.com/repos/ionic-team/capacitor/labels/platform:%20ios", "name": "platform: ios", "color": "874baf", "default": false, "description": "" }, { "id": 3818979810, "node_id": "LA_kwDOBqFoms7joQHi", "url": "https://api.github.com/repos/ionic-team/capacitor/labels/type:%20feature%20request", "name": "type: feature request", "color": "028199", "default": false, "description": "A new feature, enhancement, or improvement" } ], "state": "closed", "locked": true, "assignees": [ { "login": "markemer", "id": 453705, "node_id": "MDQ6VXNlcjQ1MzcwNQ==", "avatar_url": "https://avatars.githubusercontent.com/u/453705?v=4", "gravatar_id": "", "url": "https://api.github.com/users/markemer", "html_url": "https://github.com/markemer", "followers_url": "https://api.github.com/users/markemer/followers", "following_url": "https://api.github.com/users/markemer/following{/other_user}", "gists_url": "https://api.github.com/users/markemer/gists{/gist_id}", "starred_url": "https://api.github.com/users/markemer/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/markemer/subscriptions", "organizations_url": "https://api.github.com/users/markemer/orgs", "repos_url": "https://api.github.com/users/markemer/repos", "events_url": "https://api.github.com/users/markemer/events{/privacy}", "received_events_url": "https://api.github.com/users/markemer/received_events", "type": "User", "user_view_type": "public", "site_admin": false } ], "milestone": null, "comments": 18, "created_at": "2024-01-05T13:59:41Z", "updated_at": "2024-05-26T20:22:38Z", "closed_at": "2024-03-11T18:56:50Z", "assignee": { "login": "markemer", "id": 453705, "node_id": "MDQ6VXNlcjQ1MzcwNQ==", "avatar_url": "https://avatars.githubusercontent.com/u/453705?v=4", "gravatar_id": "", "url": "https://api.github.com/users/markemer", "html_url": "https://github.com/markemer", "followers_url": "https://api.github.com/users/markemer/followers", "following_url": "https://api.github.com/users/markemer/following{/other_user}", "gists_url": "https://api.github.com/users/markemer/gists{/gist_id}", "starred_url": "https://api.github.com/users/markemer/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/markemer/subscriptions", "organizations_url": "https://api.github.com/users/markemer/orgs", "repos_url": "https://api.github.com/users/markemer/repos", "events_url": "https://api.github.com/users/markemer/events{/privacy}", "received_events_url": "https://api.github.com/users/markemer/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": null, "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "## Feature Request\r\n\r\n### Description\r\nStarting with Spring 2024 Apple requires third-party SDKs to add a Privacy Manifest file (similar to the privacy nutrition labels in the store). Apple specifically lists Capacitor as one of the SDKs that must include this manifest otherwise any App that includes it is not allowed to release an update (or new app) to the store. \r\n\r\nhttps://developer.apple.com/support/third-party-SDK-requirements/\r\n\r\n\r\n\r\n### Platform(s)\r\niOS\r\n\r\n\r\n\r\n### Preferred Solution\r\n\r\n\r\n\r\n\r\n### Alternatives\r\n\r\nNone\r\n\r\n\r\n### Additional Context\r\n\r\n- https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests\r\n- https://developer.apple.com/videos/play/wwdc2023/10060/\r\n\r\n\r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176/reactions", "total_count": 40, "+1": 36, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 4 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/7176/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661/events", "html_url": "https://github.com/ionic-team/capacitor/issues/5661", "id": 1262399182, "node_id": "I_kwDOBqFoms5LPq7O", "number": 5661, "title": "bug: iOS ITMS-90338: Non-public API usage", "user": { "login": "hussainarthuna", "id": 46491137, "node_id": "MDQ6VXNlcjQ2NDkxMTM3", "avatar_url": "https://avatars.githubusercontent.com/u/46491137?v=4", "gravatar_id": "", "url": "https://api.github.com/users/hussainarthuna", "html_url": "https://github.com/hussainarthuna", "followers_url": "https://api.github.com/users/hussainarthuna/followers", "following_url": "https://api.github.com/users/hussainarthuna/following{/other_user}", "gists_url": "https://api.github.com/users/hussainarthuna/gists{/gist_id}", "starred_url": "https://api.github.com/users/hussainarthuna/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/hussainarthuna/subscriptions", "organizations_url": "https://api.github.com/users/hussainarthuna/orgs", "repos_url": "https://api.github.com/users/hussainarthuna/repos", "events_url": "https://api.github.com/users/hussainarthuna/events{/privacy}", "received_events_url": "https://api.github.com/users/hussainarthuna/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 793249087, "node_id": "MDU6TGFiZWw3OTMyNDkwODc=", "url": "https://api.github.com/repos/ionic-team/capacitor/labels/platform:%20ios", "name": "platform: ios", "color": "874baf", "default": false, "description": "" } ], "state": "closed", "locked": true, "assignees": [ ], "milestone": null, "comments": 31, "created_at": "2022-06-06T20:46:01Z", "updated_at": "2022-07-13T16:35:09Z", "closed_at": "2022-06-07T08:28:37Z", "assignee": null, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": "resolved", "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "## Bug Report\r\n\r\n### Capacitor Version\r\n\r\n\r\n```\r\nπŸ’Š Capacitor Doctor πŸ’Š \r\n\r\nLatest Dependencies:\r\n\r\n @capacitor/cli: 3.5.1\r\n @capacitor/core: 3.5.1\r\n @capacitor/android: 3.5.1\r\n @capacitor/ios: 3.5.1\r\n\r\nInstalled Dependencies:\r\n\r\n @capacitor/cli: 3.5.1\r\n @capacitor/core: 3.5.1\r\n @capacitor/ios: 3.5.1\r\n @capacitor/android: 3.5.1\r\n\r\n[success] iOS looking great! πŸ‘Œ\r\n[success] Android looking great! πŸ‘Œ\r\n```\r\n\r\n### Platform(s)\r\n\r\niOS\r\n\r\n\r\n\r\n### Current Behavior\r\n\r\nWhen Submitting the App to iOS the binary gets rejected and I receive the below email from Apple.\r\n\r\nDear Developer,\r\n\r\nWe identified one or more issues with a recent delivery for your app, \"APP NAME\" 1.0.3 (22). Please correct the following issues, then upload again.\r\n\r\nITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/Capacitor.framework/Capacitor: applicationNameForUserAgent, initWithFrame:configuration:, isMainFrame, setNavigationDelegate:, targetFrame. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/\r\n\r\nBest regards,\r\n\r\nThe App Store Team\r\n\r\n\r\n\r\n### Expected Behavior\r\n\r\nApp Should be uploaded successfully\r\n\r\n\r\n\r\n### Code Reproduction\r\n\r\n\r\n\r\n\r\n### Other Technical Details\r\n\r\n\r\n`npm --version` output: 8.10.0\r\n\r\n`node --version` output: v16.15.0\r\n\r\n`pod --version` output (iOS issues only): 1.11.3\r\n\r\n### Additional Context\r\n\r\n\r\n\r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661/reactions", "total_count": 27, "+1": 22, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 5 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/5661/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122/events", "html_url": "https://github.com/ionic-team/capacitor/issues/4122", "id": 794884019, "node_id": "MDU6SXNzdWU3OTQ4ODQwMTk=", "number": 4122, "title": "feat: Implement App-Bound Domains to enable Service Workers in WKWebView on iOS14+", "user": { "login": "jgoux", "id": 1443499, "node_id": "MDQ6VXNlcjE0NDM0OTk=", "avatar_url": "https://avatars.githubusercontent.com/u/1443499?v=4", "gravatar_id": "", "url": "https://api.github.com/users/jgoux", "html_url": "https://github.com/jgoux", "followers_url": "https://api.github.com/users/jgoux/followers", "following_url": "https://api.github.com/users/jgoux/following{/other_user}", "gists_url": "https://api.github.com/users/jgoux/gists{/gist_id}", "starred_url": "https://api.github.com/users/jgoux/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/jgoux/subscriptions", "organizations_url": "https://api.github.com/users/jgoux/orgs", "repos_url": "https://api.github.com/users/jgoux/repos", "events_url": "https://api.github.com/users/jgoux/events{/privacy}", "received_events_url": "https://api.github.com/users/jgoux/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 793249087, "node_id": "MDU6TGFiZWw3OTMyNDkwODc=", "url": "https://api.github.com/repos/ionic-team/capacitor/labels/platform:%20ios", "name": "platform: ios", "color": "874baf", "default": false, "description": "" } ], "state": "closed", "locked": true, "assignees": [ ], "milestone": null, "comments": 8, "created_at": "2021-01-27T08:27:27Z", "updated_at": "2022-11-10T22:09:22Z", "closed_at": "2021-02-06T00:08:52Z", "assignee": null, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": null, "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "## Feature Request\r\n\r\n### Description\r\n\r\nSince iOS14, it's possible to make service workers works in WKWebView by providing a list of trusted domains (up to 10).\r\nThese domains then gain support for service workers, which is invaluable for us as we plan to use `server.url` in production to distribute our PWA on iOS.\r\n\r\nHere are links describing the possibilities and features : \r\n- https://firt.dev/ios-14/#service-workers\r\n- https://webkit.org/blog/10882/app-bound-domains/\r\n\r\n### Platform(s)\r\n\r\n- iOS\r\n\r\n\r\n### Preferred Solution\r\n\r\nI think being able to pass the domain list with capacitor's config file would be enough. Then capacitor could patch the `Info.plist` file with the domains, and build the WKWebView using the snippet provided in the first post I shared above : \r\n```swift\r\nlet configuration = WKWebViewConfiguration()\r\nconfiguration.limitsNavigationsToAppBoundDomains = true\r\n// Create a WebView with this configuration\r\n```\r\n\r\n### Alternatives\r\n\r\nAs of today I don't think there is any alternative to support service workers in WKWebView\r\n\r\n\r\n### Additional Context\r\n\r\n\r\n\r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/4122/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878/events", "html_url": "https://github.com/ionic-team/capacitor/issues/2878", "id": 613999991, "node_id": "MDU6SXNzdWU2MTM5OTk5OTE=", "number": 2878, "title": "bug: ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability", "user": { "login": "DoctorsInTech", "id": 52379995, "node_id": "MDQ6VXNlcjUyMzc5OTk1", "avatar_url": "https://avatars.githubusercontent.com/u/52379995?v=4", "gravatar_id": "", "url": "https://api.github.com/users/DoctorsInTech", "html_url": "https://github.com/DoctorsInTech", "followers_url": "https://api.github.com/users/DoctorsInTech/followers", "following_url": "https://api.github.com/users/DoctorsInTech/following{/other_user}", "gists_url": "https://api.github.com/users/DoctorsInTech/gists{/gist_id}", "starred_url": "https://api.github.com/users/DoctorsInTech/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/DoctorsInTech/subscriptions", "organizations_url": "https://api.github.com/users/DoctorsInTech/orgs", "repos_url": "https://api.github.com/users/DoctorsInTech/repos", "events_url": "https://api.github.com/users/DoctorsInTech/events{/privacy}", "received_events_url": "https://api.github.com/users/DoctorsInTech/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "closed", "locked": true, "assignees": [ ], "milestone": null, "comments": 9, "created_at": "2020-05-07T11:58:37Z", "updated_at": "2020-06-08T14:13:24Z", "closed_at": "2020-05-07T17:53:16Z", "assignee": null, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": "off-topic", "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "# Bug Report\r\n**TMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability**\r\n\r\nGetting this repeated error when trying to build and upload to ios apple connect service in order to test with test flight. I am also using inappbrowser from cordova in order to authenticate with azure AD. I have attempted to enforce usewkwebview=yes but whenever I do this the browser will not open at all. \r\n\r\nHowever, even if I remove this package and remove the auth code, I still get the same error email from Apple stating that my app is using UIWebView. So I don't think this is the culprit, or atleast not the only one!\r\n\r\nPlease help!\r\n\r\n\r\n## Capacitor Version\r\n\r\n\r\n`npx cap doctor` output:\r\n`πŸ’Š Capacitor Doctor πŸ’Š \r\n\r\nLatest Dependencies:\r\n\r\n @capacitor/cli: 2.0.2\r\n\r\n @capacitor/core: 2.0.2\r\n\r\n @capacitor/android: 2.0.2\r\n\r\n @capacitor/electron: 2.0.2\r\n\r\n @capacitor/ios: 2.0.2\r\n\r\nInstalled Dependencies:\r\n\r\n @capacitor/electron not installed\r\n\r\n\r\n @capacitor/cli 2.0.2\r\n\r\n @capacitor/ios 2.0.2\r\n\r\n @capacitor/core 2.0.2\r\n\r\n @capacitor/android 2.0.2\r\n\r\n[success] Android looking great! πŸ‘Œ\r\n Found 3 Capacitor plugins for ios:\r\n cordova-plugin-camera (4.1.0)\r\n cordova-plugin-inappbrowser (3.2.0)\r\n cordova-plugin-video-editor (1.1.3)\r\n[success] iOS looking great! πŸ‘Œ`\r\n\r\n## Affected Platform(s)\r\n\r\n\r\n- [ ] Android\r\n- [x] iOS\r\n- [ ] Electron\r\n- [ ] Web\r\n\r\n`npm --version` output: 6.4.1\r\n\r\n`node --version` output: v10.15.0\r\n\r\n`pod --version` output (iOS issues only): 1.9.1\r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2878/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308/events", "html_url": "https://github.com/ionic-team/capacitor/issues/2308", "id": 547070357, "node_id": "MDU6SXNzdWU1NDcwNzAzNTc=", "number": 2308, "title": "feat: Sign In With Apple plugin", "user": { "login": "gentlemanjohn", "id": 3412604, "node_id": "MDQ6VXNlcjM0MTI2MDQ=", "avatar_url": "https://avatars.githubusercontent.com/u/3412604?v=4", "gravatar_id": "", "url": "https://api.github.com/users/gentlemanjohn", "html_url": "https://github.com/gentlemanjohn", "followers_url": "https://api.github.com/users/gentlemanjohn/followers", "following_url": "https://api.github.com/users/gentlemanjohn/following{/other_user}", "gists_url": "https://api.github.com/users/gentlemanjohn/gists{/gist_id}", "starred_url": "https://api.github.com/users/gentlemanjohn/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/gentlemanjohn/subscriptions", "organizations_url": "https://api.github.com/users/gentlemanjohn/orgs", "repos_url": "https://api.github.com/users/gentlemanjohn/repos", "events_url": "https://api.github.com/users/gentlemanjohn/events{/privacy}", "received_events_url": "https://api.github.com/users/gentlemanjohn/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "closed", "locked": true, "assignees": [ ], "milestone": null, "comments": 7, "created_at": "2020-01-08T19:55:51Z", "updated_at": "2020-06-17T21:05:12Z", "closed_at": "2020-01-09T11:26:43Z", "assignee": null, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": null, "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "# Feature Request\r\nSign In With Apple plugin\r\n\r\n## Describe the Feature Request\r\n\r\nAny mobile app that uses a third-party login must also offer Sign In With Apple in order to be approved for the App Store. Existing apps must support Sign In With Apple by April 2020. \r\n\r\nThere doesn't seem to be a community Capacitor plugin available and the two Cordova plugins I've found won't work with Capacitor ([cordova-plugin-apple-login](https://github.com/pscsrv/cordova-plugin-apple-login) and [cordova-plugin-sign-in-with-apple](https://github.com/twogate/cordova-plugin-sign-in-with-apple). \r\n\r\n**Can we get an official plugin?**\r\n\r\nFrom Apple:\r\n\r\n> 4.8 Sign in with Apple\r\n> \r\n> Apps that exclusively use a third-party or social login service (such as Facebook Login, Google Sign-In, Sign in with Twitter, Sign In with LinkedIn, Login with Amazon, or WeChat Login) to set up or authenticate the user’s primary account with the app must also offer Sign in with Apple as an equivalent option. A user’s primary account is the account they establish with your app for the purposes of identifying themselves, signing in, and accessing your features and associated services.\r\n\r\n## Platform Support Requested\r\n\r\n- [x] Android\r\n- [x] iOS\r\n- [x] Electron\r\n- [x] Web\r\n\r\n## Describe Preferred Solution\r\nAn official Sign In With Apple Capacitor plugin or someone who is available to start a community project.\r\n\r\n## Describe Alternatives\r\nUnfortunately there doesn't seem to be a good one. As I offer Google sign in, I won't be able to get approved for the App Store. I could drop it and only offer email account creation, but that would be a blow to adoption on both platforms.\r\n\r\n## Related Code\r\nN/A\r\n\r\n## Additional Context\r\nN/A\r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308/reactions", "total_count": 8, "+1": 8, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/2308/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 }, { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942", "repository_url": "https://api.github.com/repos/ionic-team/capacitor", "labels_url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942/labels{/name}", "comments_url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942/comments", "events_url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942/events", "html_url": "https://github.com/ionic-team/capacitor/issues/1942", "id": 491482188, "node_id": "MDU6SXNzdWU0OTE0ODIxODg=", "number": 1942, "title": "App rejected for referencing (while not using) APIs that access sensitive user data ", "user": { "login": "chrene", "id": 2511384, "node_id": "MDQ6VXNlcjI1MTEzODQ=", "avatar_url": "https://avatars.githubusercontent.com/u/2511384?v=4", "gravatar_id": "", "url": "https://api.github.com/users/chrene", "html_url": "https://github.com/chrene", "followers_url": "https://api.github.com/users/chrene/followers", "following_url": "https://api.github.com/users/chrene/following{/other_user}", "gists_url": "https://api.github.com/users/chrene/gists{/gist_id}", "starred_url": "https://api.github.com/users/chrene/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/chrene/subscriptions", "organizations_url": "https://api.github.com/users/chrene/orgs", "repos_url": "https://api.github.com/users/chrene/repos", "events_url": "https://api.github.com/users/chrene/events{/privacy}", "received_events_url": "https://api.github.com/users/chrene/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "closed", "locked": true, "assignees": [ ], "milestone": null, "comments": 5, "created_at": "2019-09-10T06:45:19Z", "updated_at": "2022-11-11T14:08:36Z", "closed_at": "2020-01-23T16:06:56Z", "assignee": null, "author_association": "NONE", "issue_field_values": [ ], "type": null, "active_lock_reason": null, "sub_issues_summary": { "total": 0, "completed": 0, "percent_completed": 0 }, "issue_dependencies_summary": { "blocked_by": 0, "total_blocked_by": 0, "blocking": 0, "total_blocking": 0 }, "body": "Description of the problem:\r\n\r\nIt seems that `@capacitor/core` code references APIs that access sensitive user data. In this case it's the photo library.\r\n\r\nI'm not calling any of the functions that request authorisation to use the API, but it seems that apple will now check the code up front and if you reference any of these sensitive API's which capacitor does with its native plugin core the will reject it with a warning.\r\n\r\n> ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).\r\n\r\nexample in `Camera.swift`\r\n```\r\nfunc showCamera(_ call: CAPPluginCall) {\r\n ...\r\n AVCaptureDevice.requestAccess(for: .video) { granted in\r\n``` \r\n\r\nAffected platform\r\n- [ ] Android\r\n- [ x] iOS\r\n- [ ] electron\r\n- [ ] web\r\n\r\nOS of the development machine\r\n- [ ] Windows\r\n- [x ] macOS\r\n- [ ] linux\r\n\r\nOther information:\r\n\r\n\r\nCapacitor version:\r\n1.2.0\r\n\r\nnode version:\r\nv10.16.1\r\n\r\nnpm version:\r\n6.9.0\r\n\r\nCocoaPods version:\r\n1.7.5\r\n\r\nSteps to reproduce:\r\nRemove unused privacy explanation keys in `Info.plist` for those API's you *never* call and upload to app store for a testflight.\r\n\r\n----\r\n\r\nFor now I will place dummys as a workaround, but I think the core could potentially be split into modules that we can install when needed instead of having all the privacy API's up front. \r\n", "reactions": { "url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 1 }, "timeline_url": "https://api.github.com/repos/ionic-team/capacitor/issues/1942/timeline", "performed_via_github_app": null, "state_reason": "completed", "pinned_comment": null, "score": 1.0 } ], "search_type": "lexical" }