{"id":13995778,"url":"https://github.com/apple/swift-xcode-playground-support","last_synced_at":"2025-10-24T11:58:31.096Z","repository":{"id":37549808,"uuid":"58581999","full_name":"apple/swift-xcode-playground-support","owner":"apple","description":"Logging and communication to allow Swift toolchains to communicate with Xcode.","archived":false,"fork":false,"pushed_at":"2025-05-22T10:48:45.000Z","size":532,"stargazers_count":292,"open_issues_count":14,"forks_count":67,"subscribers_count":136,"default_branch":"main","last_synced_at":"2025-05-23T05:12:01.686Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apple.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-05-11T21:12:42.000Z","updated_at":"2025-05-12T09:27:42.000Z","dependencies_parsed_at":"2024-01-20T18:07:40.831Z","dependency_job_id":"8496a655-de2d-4f6d-adee-fee41e6c1310","html_url":"https://github.com/apple/swift-xcode-playground-support","commit_stats":null,"previous_names":[],"tags_count":2720,"template":false,"template_full_name":null,"purl":"pkg:github/apple/swift-xcode-playground-support","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple%2Fswift-xcode-playground-support","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple%2Fswift-xcode-playground-support/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple%2Fswift-xcode-playground-support/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple%2Fswift-xcode-playground-support/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apple","download_url":"https://codeload.github.com/apple/swift-xcode-playground-support/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple%2Fswift-xcode-playground-support/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280791362,"owners_count":26391692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-09T14:03:34.961Z","updated_at":"2025-10-24T11:58:31.079Z","avatar_url":"https://github.com/apple.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\n# Swift Xcode Playground Support\n\n**Welcome to Swift Xcode Playground Support!**\n\nThe Xcode Playground Support project enables Xcode playgrounds to\ncommunicate their results in a displayable fashion, and to control some\naspects of playground behavior. In order to use a custom build of Swift\nwith Xcode the frameworks described below must be compiled with the new\nSwift compiler and included in a toolchain. Snapshots will include this\nproject to deliver everything required. Just download, install, and\nselect the toolchain to work with the corresponding Swift features in\nXcode playgrounds.\n\n## Contents\n\nThe project contains these frameworks:\n\n* **PlaygroundSupport.** This framework defines API that may be\nexplicitly referred to by playground code to communicate with Xcode. For\nexample: this is typical for playgrounds that identify a particular\nview to display live for animation or interaction, and when playgrounds\nautomatically move between pages when defined criteria are met. A legacy\nXCPlayground version is also provided for compatibility with older\nplaygrounds.\n\n* **PlaygroundLogger.** This project is used implicitly to record values\nof interest on a line-by-line basis and communicate them to Xcode. Calls\nare automatically injected into playground code so no explicit reference\nis required.\n\n## Documentation\n\nPlaygroundSupport offers a limited set of APIs for communicating specific\nrequests to Xcode and should be self-explanatory.\n\nPlaygroundLogger is more complex and includes documentation on the API in\n[PlaygroundLogger/Documentation/LoggerAPI.md](PlaygroundLogger/Documentation/LoggerAPI.md)\nand communication format in\n[PlaygroundLogger/Documentation/LoggerFormat.md](PlaygroundLogger/Documentation/LoggerFormat.md).\n\n## Working with Xcode Playground Support\n\n### Getting Started\n\nThe standard Swift build script included in the [Swift repository](http://github.com/apple/swift)\nautomatically pulls and builds the Xcode Playground Support source.\n\n### Getting Sources Directly\n\n**Via HTTPS**  For those checking out sources as read-only, HTTPS works best:\n\n    git clone https://github.com/apple/swift-xcode-playground-support.git\n    cd swift-xcode-playground-support\n\n**Via SSH**  For those who plan on regularly making direct commits,\ncloning over SSH may provide a better experience (which requires\nuploading SSH keys to GitHub):\n\n    git clone git@github.com:apple/swift-xcode-playground-support.git\n    cd swift-xcode-playground-support\n\n### Building Individual Frameworks\n\n#### Inside Xcode\n\nPlaygroundSupport and PlaygroundLogger can be built individually building the\nrespective Xcode projects. It is critical that they're built using the Swift\ncompiler they're intended to be used with, which can be achieved by building,\ninstalling, and selecting the corresponding toolchain in the Xcode UI.\n\nBoth projects contain universal targets that build all applicable products.\nThe target in PlaygroundLogger is named `All Platforms Logger`; in\nPlaygroundSupport it is named `AllProducts`.\n\nFor testing purposes, PlaygroundLogger requires the presence of the\n`StdlibUnittest` module which is part of Swift. This can be overriden either by\nusing the `BuildAndIntegration` configuration, or via the `NOSTDLIBUNITTEST`\nconditional compilation directive.\n\n#### Command-Line Builds\n\nCommand-line builds using `xcodebuild` require setting the `SWIFT_EXEC`\nenvironment variable to a fully-qualified path for the corresponding Swift\ncompiler.\n\n## Contributing to Swift Xcode Playground Support\n\nSwift Xcode Playground Support changes may be required as the Swift language\nevolves. As with other aspects of Swift, contributions are welcomed and encouraged!\nPlease see the [Contributing to Swift guide](https://swift.org/contributing/).\n\nTo be a truly great community, [Swift.org](https://swift.org/) needs to welcome developers from all\nwalks of life, with different backgrounds, and with a wide range of experience.\nA diverse and friendly community will have more great ideas, more unique\nperspectives, and produce more great code. We will work diligently to make the\nSwift community welcoming to everyone.\n\nTo give clarity of what is expected of our members, Swift has adopted the\ncode of conduct defined by the Contributor Covenant. This document is used\nacross many open source communities, and we think it articulates our values\nwell. For more, see the [Code of Conduct](https://swift.org/community/#code-of-conduct).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapple%2Fswift-xcode-playground-support","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapple%2Fswift-xcode-playground-support","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapple%2Fswift-xcode-playground-support/lists"}