Title: Add dylib symlink to iOS XCframework · Issue #141692 · python/cpython · GitHub
Open Graph Title: Add dylib symlink to iOS XCframework · Issue #141692 · python/cpython
X Title: Add dylib symlink to iOS XCframework · Issue #141692 · python/cpython
Description: Feature or enhancement Proposal: At present, the iOS XCframework is built so that it can be linked as a framework. This works fine; however, it requires tools building for iOS to include iOS-specific branches to include framework linking...
Open Graph Description: Feature or enhancement Proposal: At present, the iOS XCframework is built so that it can be linked as a framework. This works fine; however, it requires tools building for iOS to include iOS-specif...
X Description: Feature or enhancement Proposal: At present, the iOS XCframework is built so that it can be linked as a framework. This works fine; however, it requires tools building for iOS to include iOS-specif...
Opengraph URL: https://github.com/python/cpython/issues/141692
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Add dylib symlink to iOS XCframework","articleBody":"# Feature or enhancement\n\n### Proposal:\n\nAt present, the iOS XCframework is built so that it can be linked *as* a framework. \n\nThis works fine; however, it requires tools building for iOS to include iOS-specific branches to include framework linking arguments.\n\nThe iOS XCframework contains multiple slices (for each supported ABI); each slice contains both the Framework, and a \"POSIX-like\" set of `bin`, `include` and `lib` folders. This exists to make it easy to set include paths, and to provide the structure for stdlib resources that can be copied into the final app (since those resources cannot be placed in the Framework itself).\n\nHowever the `lib` folder does *not* contain a copy of `libpython*.dylib` - because binary compiled content can only be distributed on iOS inside a Framework.\n\nIn the process of [developing patches for PyO3](https://github.com/PyO3/pyo3/pull/5606) to support iOS, it became apparent that many of the complications of building iOS binary components become a lot easier if \"POSIX-like\" part of each XCframework slice contains a `lib/libpython*.dylib` that is a symlink to the actual Python framework binary. This mirrors the structure of macOS frameworks. The symlink can't be copied into the application, but it's easy to exclude that file as part of the Xcode utility scripts.\n\nThe XCframework build script should include a `lib` folder for each slice that contains a symlink to the Framework binary.\n\n### Has this already been discussed elsewhere?\n\nThis is a minor feature, which does not need previous discussion elsewhere\n\n### Links to previous discussion of this feature:\n\n_No response_\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-141693\n* gh-141733\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/freakboy3742","@type":"Person","name":"freakboy3742"},"datePublished":"2025-11-18T05:53:06.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/141692/cpython/issues/141692"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:9cc0e641-5e93-88f3-ce41-5170633fcd20 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C1BC:1B2073:8E1F25:BE8121:6A52773B |
| html-safe-nonce | b905531f82dea67c67085967d3c08742bc165adc84dc6dcf7123fa8a8008e801 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMUJDOjFCMjA3Mzo4RTFGMjU6QkU4MTIxOjZBNTI3NzNCIiwidmlzaXRvcl9pZCI6Ijc2ODgxMDk1Mzg4NjQ2OTEwMDMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | fa208d3e69818e90109fcb229247d3075b489beb6d7226d3b2c395be8c757de3 |
| hovercard-subject-tag | issue:3636268568 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/141692/issue_layout |
| twitter:image | https://opengraph.githubassets.com/4bca6b157795afccd7ac3a4e21d2b8f167da7f4104221f8744b9a3cd3be68db3/python/cpython/issues/141692 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/4bca6b157795afccd7ac3a4e21d2b8f167da7f4104221f8744b9a3cd3be68db3/python/cpython/issues/141692 |
| og:image:alt | Feature or enhancement Proposal: At present, the iOS XCframework is built so that it can be linked as a framework. This works fine; however, it requires tools building for iOS to include iOS-specif... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | freakboy3742 |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width