[PR #1983] [CLOSED] Fix fork crash #1937

Closed
opened 2026-03-03 19:09:44 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/PlayCover/PlayCover/pull/1983
Author: @veskoap
Created: 9/26/2025
Status: Closed

Base: developHead: fix-fork-crash


📝 Commits (9)

  • b13bacb chore(gitignore): ignore Carthage checkouts, SPM, bundler, editors, macOS metadata, and Xcode artifacts
  • f07975f Refactor: Update code signing settings for automatic management
  • 601975f Feat: Add process-fork denial to default rules and to the bypass
  • e54f9f0 Fix: Update PlayTools dependency to specific commit hash
  • 6772efa Chore: Update .bundle/config to include retry and jobs
  • ed66906 Chore: Add universal-darwin-24 to Gemfile.lock
  • 3cff912 Setup for local testing
  • 98b0cb4 feat: Skip certain Xcode build phases
  • d7f6403 feat: Support more Mach-O platforms in Macho.swift

📊 Changes

9 files changed (+61 additions, -25 deletions)

View changed files

📝 .bundle/config (+2 -0)
📝 .gitignore (+25 -4)
📝 Cartfile.resolved (+1 -1)
📝 Gemfile.lock (+1 -0)
📝 PlayCover.xcodeproj/project.pbxproj (+15 -17)
📝 PlayCover.xcodeproj/xcshareddata/xcschemes/PlayCover.xcscheme (+8 -1)
📝 PlayCover/Rules/default.yaml (+0 -1)
📝 PlayCover/Utils/Entitlements.swift (+1 -0)
📝 PlayCover/Utils/Macho.swift (+8 -1)

📄 Description

This pull request introduces several configuration and build system updates aimed at improving maintainability and compatibility of the project. The most notable changes include updating code signing and provisioning profiles to use automatic settings, simplifying build scripts by skipping certain steps, and refining platform detection logic. Additionally, there are minor dependency and environment configuration updates.

Build and Code Signing Configuration

  • Switched code signing identity from "Developer ID Application" to "Apple Development" and changed code signing style from manual to automatic in PlayCover.xcodeproj/project.pbxproj. Also, removed specific provisioning profile specifiers and updated the development team identifier. [1] [2] [3] [4] [5] [6]

Build Script Simplification

  • Replaced shell scripts for SwiftLint, Carthage framework copying, Sparkle codesigning, and Carthage bootstrap with simple echo statements to skip these steps in PlayCover.xcodeproj/project.pbxproj. [1] [2] [3] [4]

Platform Compatibility

  • Updated platform detection logic in PlayCover/Utils/Macho.swift to accept multiple valid platforms (Mac Catalyst, macOS, iOS, iOS Simulator) instead of only Mac Catalyst.

Dependency and Environment Updates

  • Updated the resolved commit for PlayTools in Cartfile.resolved.
  • Added environment variable FASTLANE=1 to the launch action in PlayCover.xcodeproj/xcshareddata/xcschemes/PlayCover.xcscheme.
  • Added BUNDLE_RETRY and BUNDLE_JOBS to .bundle/config for improved bundler reliability and performance.

Sandbox Rule Adjustments

  • Ensured process-fork is explicitly denied in the sandbox profile by moving the rule from default.yaml to runtime generation in Entitlements.swift. [1] [2]

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/PlayCover/PlayCover/pull/1983 **Author:** [@veskoap](https://github.com/veskoap) **Created:** 9/26/2025 **Status:** ❌ Closed **Base:** `develop` ← **Head:** `fix-fork-crash` --- ### 📝 Commits (9) - [`b13bacb`](https://github.com/PlayCover/PlayCover/commit/b13bacbc40626c73dce4f105e869d1b3e01e37c1) chore(gitignore): ignore Carthage checkouts, SPM, bundler, editors, macOS metadata, and Xcode artifacts - [`f07975f`](https://github.com/PlayCover/PlayCover/commit/f07975f60a7c56e623ba1f017adc63c5cf98e458) Refactor: Update code signing settings for automatic management - [`601975f`](https://github.com/PlayCover/PlayCover/commit/601975f494b820440754395244f5ef8052b7011e) Feat: Add process-fork denial to default rules and to the bypass - [`e54f9f0`](https://github.com/PlayCover/PlayCover/commit/e54f9f068d1ac25288c5fa8cccbfc4fbdf74816f) Fix: Update PlayTools dependency to specific commit hash - [`6772efa`](https://github.com/PlayCover/PlayCover/commit/6772efa9abd9bf0bd2b0a376d97d92802936a101) Chore: Update .bundle/config to include retry and jobs - [`ed66906`](https://github.com/PlayCover/PlayCover/commit/ed66906b1bbf9cd3a60b3be4d16c9ea9ca6162cc) Chore: Add universal-darwin-24 to Gemfile.lock - [`3cff912`](https://github.com/PlayCover/PlayCover/commit/3cff912fad8dd9a9f733058aa92498a50fd4cd58) Setup for local testing - [`98b0cb4`](https://github.com/PlayCover/PlayCover/commit/98b0cb4dd99c536ccced066baf671800e951af5f) feat: Skip certain Xcode build phases - [`d7f6403`](https://github.com/PlayCover/PlayCover/commit/d7f6403d73a912afe32a62fffecf87fa0c926c9a) feat: Support more Mach-O platforms in `Macho.swift` ### 📊 Changes **9 files changed** (+61 additions, -25 deletions) <details> <summary>View changed files</summary> 📝 `.bundle/config` (+2 -0) 📝 `.gitignore` (+25 -4) 📝 `Cartfile.resolved` (+1 -1) 📝 `Gemfile.lock` (+1 -0) 📝 `PlayCover.xcodeproj/project.pbxproj` (+15 -17) 📝 `PlayCover.xcodeproj/xcshareddata/xcschemes/PlayCover.xcscheme` (+8 -1) 📝 `PlayCover/Rules/default.yaml` (+0 -1) 📝 `PlayCover/Utils/Entitlements.swift` (+1 -0) 📝 `PlayCover/Utils/Macho.swift` (+8 -1) </details> ### 📄 Description This pull request introduces several configuration and build system updates aimed at improving maintainability and compatibility of the project. The most notable changes include updating code signing and provisioning profiles to use automatic settings, simplifying build scripts by skipping certain steps, and refining platform detection logic. Additionally, there are minor dependency and environment configuration updates. ### Build and Code Signing Configuration * Switched code signing identity from "Developer ID Application" to "Apple Development" and changed code signing style from manual to automatic in `PlayCover.xcodeproj/project.pbxproj`. Also, removed specific provisioning profile specifiers and updated the development team identifier. [[1]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL808-L821) [[2]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL911-L924) [[3]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL837-R836) [[4]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL940-R938) [[5]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aR781-R784) [[6]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aR883-R886) ### Build Script Simplification * Replaced shell scripts for SwiftLint, Carthage framework copying, Sparkle codesigning, and Carthage bootstrap with simple echo statements to skip these steps in `PlayCover.xcodeproj/project.pbxproj`. [[1]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL571-R571) [[2]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL591-R591) [[3]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL610-R610) [[4]](diffhunk://#diff-db66d50d9000e3d7d03c3e39c498b576dac5bb5ff7a8ff2ef88199c59cada26aL629-R629) ### Platform Compatibility * Updated platform detection logic in `PlayCover/Utils/Macho.swift` to accept multiple valid platforms (Mac Catalyst, macOS, iOS, iOS Simulator) instead of only Mac Catalyst. ### Dependency and Environment Updates * Updated the resolved commit for `PlayTools` in `Cartfile.resolved`. * Added environment variable `FASTLANE=1` to the launch action in `PlayCover.xcodeproj/xcshareddata/xcschemes/PlayCover.xcscheme`. * Added `BUNDLE_RETRY` and `BUNDLE_JOBS` to `.bundle/config` for improved bundler reliability and performance. ### Sandbox Rule Adjustments * Ensured `process-fork` is explicitly denied in the sandbox profile by moving the rule from `default.yaml` to runtime generation in `Entitlements.swift`. [[1]](diffhunk://#diff-687ee6cf219b375420c57baef024608380e9bafe9a68dc89f59633e2248c237fL77) [[2]](diffhunk://#diff-668719245a1f70199e2ad4b933ea7fad87a2aa3b3d5f67439eb6ab9bbb2676d8R92) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 19:09:44 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PlayCover#1937
No description provided.