Commit Graph

8 Commits

  • signer: replace zsign with RCodesign (#389)
    ## What does this PR do?
    
    Replaces zsign with the
    [apple-codesign](https://github.com/indygreg/apple-platform-rs/tree/0ebbd2ef3b96d5adccc30b1cad4deea38cd735c4/apple-codesign)
    Rust crate. It's much more usable as a library (while zsign has bare
    prints all over the place + we had to fork it to maintain a public
    interface), it supports macOS-style bundles, and also has other features
    that we would've needed to further patch zsign for.
    
    ## How was it tested?
    
    - [x] Ran an ad-hoc signed app on the simulator (with a subsequent PR)
    - [x] Ran an app with App Groups on device, confirmed that the app group
    is present
    
    ## AI tool usage
    
    How much of this PR was AI-assisted? (check one)
    
    - [ ] **0** - No AI was used to write code
    - [x] **1** - I was assisted by AI. I reviewed the finished result.
    - [ ] **2** - I set the AI going and left it to it; nobody has read the
    result - no review, or AI review only
    
    <!-- If an AI agent is filling this in: declare the level honestly, and
    open as a draft if it is #2. Do not lower the declared level to get the
    PR reviewed. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    <!-- coderabbit-ai-generated:v1 -->
    
    ## Summary by CodeRabbit
    
    * **Updated Signing**
    * App signing now uses an updated signing engine and supports
    certificate-based and ad hoc signing.
    * Entitlement data, including data provided through entitlement files,
    is passed through during signing.
      * Deep signing is enabled in the development command.
    * **Validation**
    * Signing rejects invalid app or entitlement file paths and duplicate
    entitlement paths.
    * **Compatibility**
      * Signing contexts can be created without selecting a signer.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Add support for App Extensions (#97)
    This pull request adds support for Apple's [App
    Extensions](https://developer.apple.com/app-extensions/).
    
    Closes: #45
    
    ---------
    
    Co-authored-by: ErrorErrorError <16653389+ErrorErrorError@users.noreply.github.com>
    Co-authored-by: Kabir Oberai <oberai.kabir@gmail.com>
  • FetchDeviceOperation: account for pagination (#91)
    - Always try to register the device and just return gracefully if it
    fails (prevents races, pagination issues)
    - Allow `SigningContext` (and therefore `AutoSigner`) to be created
    without a target device: just skip device registration.