Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

chore: switch to an XcodeGen project file#32

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

ThomasK33
Copy link
Member

@ThomasK33ThomasK33 commentedJan 24, 2025
edited
Loading

This PR transitions the project from a manually maintained .xcodeproj file to an XcodeGen-managed project configuration.
It introduces a streamlined development workflow using XcodeGen to generate project files dynamically and includes necessary updates to documentation, .gitignore, and CI configuration.

Change-Id: I753a7652cdc730157ae7f8bc036338bae5e6b54b
Signed-off-by: Thomas Kosiewskitk@coder.com

@ThomasK33Graphite App
Copy link
MemberAuthor

This stack of pull requests is managed byGraphite. Learn more aboutstacking.

@ThomasK33ThomasK33 linked an issueJan 24, 2025 that may beclosed by this pull request
@ThomasK33ThomasK33force-pushed the01-24-chore_switch_to_an_xcodegen_project_file branch 10 times, most recently from8f5f751 to3b3eaf9CompareJanuary 24, 2025 15:00
@ThomasK33ThomasK33 marked this pull request as ready for reviewJanuary 24, 2025 15:00
@ThomasK33ThomasK33 self-assigned thisJan 24, 2025
Copy link
Member

@ethanndicksonethanndickson left a comment
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

For some reason the runtime search paths for the frameworks has changed, despite the config looking mostly the same:

When starting the network extension I'm getting:

ASI found [dyld] (sensitive) 'Library not loaded: /Library/Frameworks/VPNLib.framework/Versions/A/VPNLib  Referenced from: <306B8001-A2DD-3B40-8152-B2257E804958> /Library/SystemExtensions/0EB23306-84D3-465D-9069-4140FD750438/com.coder.Coder-Desktop.VPN.systemextension/Contents/MacOS/com.coder.Coder-Desktop.VPN  Reason: tried: '/Library/Frameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/Library/Frameworks/VPNLib.framework/Versions/A/VPNLib' (no such file)'

Previously, the build folder in XCode was included in the list of directories it would look for the library, not just the system stores I know this because thetried list would include it when I had the same error before I embedded them, here's that error message:

ASI found [dyld] (sensitive) 'Library not loaded: @rpath/VPNLib.framework/Versions/A/VPNLib  Referenced from: <3CE45B2E-A079-384F-88F8-1CE9C94C7020> /Library/SystemExtensions/A55BDC5F-9B8D-4AEA-AFC7-B5D63AFADFD8/com.coder.Coder-Desktop.VPN.systemextension/Contents/MacOS/com.coder.Coder-Desktop.VPN  Reason: tried: '/Users/ethan/Library/Developer/Xcode/DerivedData/Coder_Desktop-ffdgfuvlnrlswxdjjgbkxtwmhuwc/Build/Products/Debug/PackageFrameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/ethan/Library/Developer/Xcode/DerivedData/Coder_Desktop-ffdgfuvlnrlswxdjjgbkxtwmhuwc/Build/Products/Debug/PackageFrameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/Library/SystemExtensions/A55BDC5F-9B8D-4AEA-AFC7-B5D63AFADFD8/com.coder.Coder-Desktop.VPN.systemextension/Contents/Frameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/Library/SystemExtensions/Frameworks/VPNLib.framework/Versions/A/VPNLib' (no such file), '/Users/ethan/Library/Devel<…>'

But curiously:
This is onmain:
image
and this is on this branch:
image

Perhaps it could be worth scrapping the dynamic frameworks altogether, and just including the contents of VPNLib and CoderSDK as compile targets for the app and NE, i.e. this setting:
image
WDYT?

base:
INFOPLIST_FILE: VPN/Info.plist
PRODUCT_MODULE_NAME: "$(PRODUCT_NAME:c99extidentifier)"
PRODUCT_NAME: "$(inherited)"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I had to setPRODUCT_NAME to$(PRODUCT_BUNDLE_IDENTIFIER for the app to get the OS to prompt me to install the NE.

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Interesting. Was that already committed to the main branch?

When looking at thepbxproj file from main, it's set to inherit, so I carried it over as is.

Screenshot 2025-01-27 at 10.27.56.png

Copy link
Member

@ethanndicksonethanndicksonJan 27, 2025
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I believe it's cause you have thebase setting forPRODUCT_NAME set to$(TARGET_NAME):

PRODUCT_NAME: "$(TARGET_NAME)"

Whereas on main the base value forPRODUCT_NAME is currently empty.

Setting that base value (changing the setting when theproject is selected in XCode) causes it to inherit from that.

ThomasK33 reacted with thumbs up emoji
Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Does thePRODUCT_NAME: "$(PRODUCT_BUNDLE_IDENTIFIER)" only apply to this system extension, or should I remove that default base value?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

yeah only the system extension is$(inherited), everything else is$(TARGET_NAME) (with..:c99extidentifier for the frameworks)

@ThomasK33ThomasK33force-pushed the01-24-chore_switch_to_an_xcodegen_project_file branch 4 times, most recently fromea316ce to81bc611CompareJanuary 27, 2025 15:22
@ThomasK33ThomasK33force-pushed the01-24-chore_switch_to_an_xcodegen_project_file branch from81bc611 to54eb681CompareJanuary 28, 2025 11:33
Change-Id: I753a7652cdc730157ae7f8bc036338bae5e6b54bSigned-off-by: Thomas Kosiewski <tk@coder.com>
@ThomasK33ThomasK33force-pushed the01-24-chore_switch_to_an_xcodegen_project_file branch from54eb681 to4a91b6dCompareJanuary 28, 2025 16:30
Copy link
Member

@ethanndicksonethanndickson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Coder Desktop runs end-to-end with this config, so LGTM!

ThomasK33 reacted with hooray emojiThomasK33 reacted with heart emoji
@ThomasK33ThomasK33 merged commit511bafd intomainJan 29, 2025
4 checks passed
@ThomasK33ThomasK33 deleted the 01-24-chore_switch_to_an_xcodegen_project_file branchJanuary 29, 2025 07:29
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@spikecurtisspikecurtisspikecurtis left review comments

@ethanndicksonethanndicksonethanndickson approved these changes

@coadlercoadlerAwaiting requested review from coadler

Assignees

@ThomasK33ThomasK33

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

Autogenerate XCode project files in the repo
3 participants
@ThomasK33@spikecurtis@ethanndickson

[8]ページ先頭

©2009-2025 Movatter.jp