{"id":17502613,"url":"https://github.com/mikehouse/xdevman","last_synced_at":"2025-06-12T17:36:02.895Z","repository":{"id":258460876,"uuid":"874390673","full_name":"mikehouse/XDevMan","owner":"mikehouse","description":"XDevMan tool helps to manage Apple Developer Tools","archived":false,"fork":false,"pushed_at":"2025-05-24T14:16:49.000Z","size":8162,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-24T14:50:23.552Z","etag":null,"topics":["carthage","deriveddata","ios","macos","provisioning-profiles","simulator","swift","swiftpm","swiftui","xcarchive","xcode","xcrun"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikehouse.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-10-17T18:34:34.000Z","updated_at":"2025-05-24T14:13:01.000Z","dependencies_parsed_at":"2025-05-06T17:33:43.264Z","dependency_job_id":null,"html_url":"https://github.com/mikehouse/XDevMan","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"2654e316dbc26d1030ecd4d1d003ab77991d28e3"},"previous_names":["mikehouse/xdevman"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/mikehouse/XDevMan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikehouse%2FXDevMan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikehouse%2FXDevMan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikehouse%2FXDevMan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikehouse%2FXDevMan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikehouse","download_url":"https://codeload.github.com/mikehouse/XDevMan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikehouse%2FXDevMan/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259512947,"owners_count":22869528,"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","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":["carthage","deriveddata","ios","macos","provisioning-profiles","simulator","swift","swiftpm","swiftui","xcarchive","xcode","xcrun"],"created_at":"2024-10-19T21:14:13.428Z","updated_at":"2025-06-12T17:36:02.866Z","avatar_url":"https://github.com/mikehouse.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr/\u003e\n\u003cp align=\"left\"\u003e\u003cimg src=\"XDevMan/Resources/Assets.xcassets/AppIcon.appiconset/Icon-512x512-@2x.png\" width=\"16%\"/\u003e\u003c/p\u003e\n\n# XDevMan\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Main.png\"/\u003e\u003c/p\u003e\n\nThere are following functionalities available:\n\n### Xcode Simulators\n\nHelps to manage Xcode Simulators.\n\n- List of available runtimes\n- Delete a runtime\n- List of simulators per a runtime\n- Create new Simulator for given runtime\n- Launch and shutdown a simulator\n- Recreate a simulator\n- View how much a simulator takes disk space\n- Find broken simulators\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Simulators.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Derived Data\n\nHelps to manage Xcode + [AppCode](https://www.jetbrains.com/objc/) + [Fleet](https://www.jetbrains.com/fleet/) derived data directories.\n\n- View how much disk space taken by derived data per an application\n- Delete derived data per an application\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/DerivedData.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Swift Package Manager (SwiftPM)\n\nManages [SwiftPM](https://www.swift.org/documentation/package-manager/) cached dependencies at */Library/Caches/org.swift.swiftpm/* directory.\n\n- View the dependencies in local SwiftPM cache\n- View a disk space consumption of every dependency\n- Open a dependency source web page (GitHub)\n- Delete a dependency from the cache\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/SwiftPM.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Carthage\n\nManages [Carthage](https://github.com/Carthage/Carthage) cached dependencies at */Library/Caches/org.carthage.CarthageKit/* directory.\n\n- View the dependencies in local Carthage cache\n- View a disk space consumption of every dependency\n- Open a dependency source web page (GitHub)\n- Delete a dependency from the cache\n- Manage a dependency's derived data\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Carthage.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Apple Device Support\n\nWhen you connect a real Apple device to macOS (iPhone, Apple watch, Apple TV, etc.) the system copies symbols from it to */Library/Developer/Xcode/iOS DeviceSupport* directory.\n\n- View a list of Apple devices the symbols copied from\n- View a disk space consumption for every device symbols\n- Delete the symbols for given device\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/DeviceSupport.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Xcode Archives\n\nWhen you do `archive` action to Xcode (`Product` menu) it places a built archive at */Library/Developer/Xcode/Archives/* directory.\n\n- View a list of all archives\n- View detailed info for an archive\n- Delete an archive\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Archives.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Provisioning Profiles\n\nManages the provision profiles from */Library/MobileDevice/Provisioning Profiles* directory.\n\n- List of all provisioning profiles\n- Detailed info about a provisioning profile\n- Delete a provisioning profile\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Profiles.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### SwiftUI Previews\n\nWhen you use a SwiftUI Preview Xcode feature then Xcode creates a separate Simulator for previewing at */Library/Developer/Xcode/UserData/Previews/Simulator Devices* directory.\n\n- List of all simulators for SwiftUI Preview\n- View how much disk space taken by a simulator\n- Delete a simulator\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/SwiftUIPreviews.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Interface Builder (IB) Support\n\nI'm not sure about this. Something creates the simulators at */Library/Developer/Xcode/UserData/IB Support/Simulator Devices* directory.\n\n- List of simulators\n- Delete a simulator\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/IBSupport.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Other Issues\n\nTries to find the issues for Xcode development tools.\n\n- Find broken Xcode simulators\n- Find missed/unused/strange simulators logs\n- Find dyld cache for deleted simulators\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Issues.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n### Git\n\nThe simplest manager for git project.\n\n- View local branches names\n- Delete a local branch\n\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp align=\"center\"\u003e\u003cimg src=\"Ads/Git.png\"/\u003e\u003c/p\u003e\n\u003c/details\u003e\n\n## Installation\n\n- macOS Sonoma (14.5+)\n- Xcode Command Line Tools (required)\n\n### From Release section\n\n- Download latest release\n- Unzip the release archive\n- Move `XDevMan.app` to */Applications/* folder\n- Launch `XDevMan.app` application\n- If the app cannot be launched because of signature of untrusted developer, then do the next step\n- Allow the system to run the application from not trusted developer\n\n```bash\nxattr -d com.apple.quarantine XDevMan.app\n```\n\n### Build from sources (Xcode 16+)\n\n- Download this repository\n- Open `Terminal.app`\n- Go to the repository sources in `Terminal.app`\n\n```bash\ncd ~/Downloads/xdevman/\n```\n\n- Build the project by running the commands below in `Terminal.app`\n\n```bash\n./make_release.sh\n```\n\n- Find `XDevMan.app.${arch}.zip` under hidden folder ./.build\n- Unzip the built archive\n- Move the app to */Applications/* directory.\n- Launch `XDevMan.app` application\n\n## Todo\n\n- [ ] Cocoapods cache\n- [ ] Simulators app manager (apps list, user defaults)\n- [ ] [Fastlane](https://fastlane.tools) runner in `Terminal.app` (lanes from fastlane/Readme.md)\n- [ ] [Scipio](https://github.com/giginet/Scipio) tool to convert `resolved.json` to `Package.swift`\n- [ ] [SwiftPM](https://www.swift.org/documentation/package-manager/) show dependencies graph as `Podfile.lock`\n- [ ] `Finder` like menu to view files and folders sizes\n- [ ] A separate floating window for app's logs\n- [ ] `ipa` analyzer (drag and drop)\n- [ ] `*.app` analyzer (drag and drop)\n- [ ] `*.mobileprovision` analyzer (drag and drop)\n- [ ] Unit tests for view's logic\n- [ ] Unit tests for services\n- [ ] Get rid of `mocks` in `Release` build\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikehouse%2Fxdevman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikehouse%2Fxdevman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikehouse%2Fxdevman/lists"}