-
Notifications
You must be signed in to change notification settings - Fork 916
Run Developer Build from Xcode #8838
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR simplifies the development workflow for the Nextcloud desktop client on macOS by integrating the mac-crafter tool into Xcode as a build scheme. This enables developers to build, run, and debug the desktop client directly from Xcode without needing separate command-line workflows.
Key changes:
- Added a new "NextcloudDev" target and scheme that wraps
mac-crafteras an external build system - Created comprehensive documentation for the new Xcode-based development workflow
- Updated logging to use structured logging format in the file provider extension
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Added reference to new Xcode development workflow documentation |
| shell_integration/MacOSX/NextcloudIntegration/README.md | New comprehensive documentation for Xcode-based development |
| shell_integration/MacOSX/NextcloudIntegration/NextcloudDev/Craft.sh | Shell script that integrates mac-crafter with Xcode build system |
| shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/project.pbxproj | Added NextcloudDev target and build configurations |
| shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/xcshareddata/xcschemes/NextcloudDev.xcscheme | Xcode scheme configuration for the new development target |
| shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Services/ClientCommunicationService.swift | Updated logging to use structured format |
| shell_integration/MacOSX/NextcloudIntegration/.gitignore | Added DerivedData to gitignore |
| shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved | Updated NextcloudFileProviderKit dependency revision |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
shell_integration/MacOSX/NextcloudIntegration/NextcloudDev/Craft.sh
Outdated
Show resolved
Hide resolved
b8b3be9 to
3f4d1d1
Compare
Introduced a new target with external build system in the NextcloudIntegration Xcode project to conveniently run mac-crafter from Xcode. Signed-off-by: Iva Horn <iva.horn@icloud.com>
LLVM could not resolve breakpoints set in Xcode. That requires dSYM files to work. I changed the build setting to produce these files for all targets and debug configuration builds. Now it is possible to also conveniently break in Xcode when attaching to the extension processes. Signed-off-by: Iva Horn <iva.horn@icloud.com>
Signed-off-by: Iva Horn <iva.horn@icloud.com>
Signed-off-by: Iva Horn <iva.horn@icloud.com>
This integrates the fixes for the file locking. Signed-off-by: Iva Horn <iva.horn@icloud.com>
5865a78 to
f219ad6
Compare
|
Artifact containing the AppImage: nextcloud-appimage-pr-8838.zip Digest: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
|
|
/backport to stable-4.0 |



As part of figuring out why Xcode cannot map source files I tried to simplify the working environment with Xcode. My previously used Xcode wrapper project now is obsolete because the editing and debugging is possible right from inside the existing NextcloudIntegration project.