Investigate why app & system extension shared dependencies fail to embed
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- swift
- Lĩnh vực
- build-system, desktop
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện các lỗi của release build được mô tả trong các issue #145, #98 và #143, tập trung vào các dependency được dùng chung bởi các target system extension của App và VPN. Chuẩn bị một ví dụ tối thiểu có thể tái hiện cho thấy framework được nhúng bị thiếu, sau đó ghi lại kết quả cho Apple Developer Forums và Feedback Assistant như được mô tả trong issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
In both #145 and #98, I've encountered an issue with release builds of the app. These issues arose when a dependency was required by both the App target (or any of it's dependencies), and the system extension target (and any of it's dependencies).
In #98, the issue occurred when protobuf definitions were added directly to the app target, or a new framework target that would be depended on by the app target. They were previously working fine being depended on by just VPNLib (which the system extension depends on).
In the first case, the network extension would crash. In the second case, the app would crash.
The crash reason was:
Library not loaded: @rpath/SwiftProtobuf.framework/Versions/A/SwiftProtobuf
Other users have reported this issue https://github.com/apple/swift-protobuf/issues/1506#issuecomment-2435125065
In #143, the issue occured when InternalCollectionsUtilities was depended on by both the App target, and the VPN target (via another framework, VPNLib). When a library that depended on swift-collections was added to the app target, the network extension would crash on startup with the error:
Library not loaded: @rpath/InternalCollectionsUtilities.framework/Versions/A/InternalCollectionsUtilities
FWICT, xcode is making some form of optimisation where it constructs a framework for code shared between two different targets. This poses an issue with a system extension, which is copied and executed outside of the app bundle. A copy of the system extension always lives in the app bundle, so it's trivial for the app to depend on a framework present within the system extension bundle (we already do this), but not the other way around. If there was some way to tell xcode to embed this new framework within the system extension bundle, we wouldn't have this issue.
Instead, the workaround we've gone with is to simply put everything that would cause this issue in VPNLib, as to minimise the number of times we depend on any one package.
This issue doesn't require immediate action, and is more so for book-keeping. It would be good to post this alongside an MRE on the Apple developer forums and in Apple feedback assistant.
- Ngôn ngữ chính
- Swift
- Star
- 29
- Fork
- 9
- Merge trung bình
- 1 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của coder/coder-desktop-macos
-
Authentication fails with invalid TLS certificate error on self-hosted Coder deployment (macOS)Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
coder/coder-desktop-macos#285 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
coder/coder-desktop-macos#230 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
coder/coder-desktop-macos#221 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 48/100
coder/coder-desktop-macos#220 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
coder/coder-desktop-macos#212 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của coder/coder-desktop-macos
Issue tương tự
-
area:shell order:5 status:ready type:bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
krystianslowik/arkt#899 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
help wanted roadmap tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
🐞 bug 💠 component 🔍 triage v4 🧰 library
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Orange-OpenSource/ouds-ios#1875 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
521xueweihan/HelloGitHub#4295 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100