GNU General Public License v3.0

项目介绍

ben-z/free-sidecar 是一个托管在 GitHub 上的开源项目,主要使用 Swift 编写,采用 GNU General Public License v3.0 许可证,目前获得 1.6k 个 Star、95 次 Fork。

仓库全名
ben-z/free-sidecar
开源许可证
GNU General Public License v3.0
Star 数
1.6k
Fork 数
95

README 摘要

Free Sidecar Unlocks Sidecar for older, unsupported iPads and Macs (supports all iPads running iPadOS and Macs running macOS Catalina). Download the lastest version Full list of supported iPads (running iPadOS): iPad Air 2, iPad Air (3rd generation), iPad (5th generation), iPad (6th generation), iPad (7th generation), iPad Mini 4, iPad Mini (5th generation), iPad Pro 9.7-inch, iPad Pro 10.5-inch, iPad Pro 11-inch,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

free-sidecar 用什么语言开发?

主要使用 Swift 编写,采用 GNU General Public License v3.0 许可证,目前有 1.6k 个 Star。

free-sidecar 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 free-sidecar 的源码?

可以直接克隆仓库:git clone https://github.com/ben-z/free-sidecar.git,默认分支为 master;安装与运行步骤见仓库 README。

free-sidecar 最近还在维护吗?

仓库最近一次更新为 2021年6月9日,当前没有未关闭的 Issue;Star 数为 1.6k,可作为社区活跃度的参考。

简要分析

热度分
1792
价值分
966
活跃状态
活跃

语言占比

Swift

Release

README

Free Sidecar

Unlocks Sidecar for older, unsupported iPads and Macs (supports all iPads running iPadOS and Macs running macOS Catalina).

Download the lastest version

Full list of supported iPads (running iPadOS): iPad Air 2, iPad Air (3rd generation), iPad (5th generation), iPad (6th generation), iPad (7th generation), iPad Mini 4, iPad Mini (5th generation), iPad Pro 9.7-inch, iPad Pro 10.5-inch, iPad Pro 11-inch, iPad Pro 12.9-inch (1st generation), iPad Pro 12.9-inch (2nd generation), iPad Pro 12.9-inch (3rd generation)

List of supported Macs (running macOS Catalina): iMac: Late 2012 or newer, iMac Pro, Mac Pro: Late 2013 or newer, Mac Mini: Late 2012 or newer, MacBook: Early 2015 or newer, MacBook Air: Mid 2012 or newer, MacBook Pro: Mid 2012 or newer

Notes

  1. Apple uses a simple “blacklist” on macOS to disable iPadOS 13/macOS Catalina devices from using Sidecar. To work around this, we simply need to edit the blacklist in /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore (can be done with any hex editor of your choice).
  2. This app is a UI for editing SidecarCore.
  3. This app is sandboxed and does NOT need root access. I’ve left everything that needs root access for you to execute in the Terminal.
  4. This app works on all versions of iPadOS and macOS Catalina, including upcoming releases (assuming Apple doesn’t change how they blacklist devices—in which case this app will be a no-op).
  5. macOS Catalina 10.15.4 introduced a change that broke self-signed frameworks, which we are using. If you are on 10.15.4+, you need to go through one extra step (added as a substep under step 8 below).
  6. The entire process includes 2 restarts into the recovery partition and should take around 5-15 minutes.
  7. Wireless mode may not work for all older devices.

Getting Started

  1. Make a backup of SidecarCore (run this in Terminal):
cp /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore ~/Downloads/SidecarCore.bak
  1. Copy SidecarCore from the System folder (run this in Terminal)
cp /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore ~/Downloads
  1. Open Free Sidecar (note that macOS may prevent you from running the app. In that case, open System Preferences - Security & Privacy - General and select Open Anyway) and choose the location of the SidecarCore file to be patched (~/Downloads/SidecarCore from step 2).

Free Sidecar

  1. Click Enable to enable sidecar for the corresponding device. This will modify the SidecarCore that you’ve selected in step 3 (you will be replacing the system SidecarCore with this file in step 7):

    • Run sysctl hw.model in Terminal to find out your mac model. For iPad model, go here. Click Enable
  2. Disable System Integrity Protection. This will allow us to mount / as read-write and modify SidecarCore under the /System directory.

    1. Reboot into recovery mode (Press cmd-R when booting)
    2. Execute in Terminal in recovery mode:
    csrutil disable
    
    1. Reboot into macOS
  3. Mount system volume as read-write (in Terminal):

sudo mount -uw /
  1. Copy the patched SidecarCore back into SidecarCore.framework (in Terminal):
sudo cp ~/Downloads/SidecarCore /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore
  1. Sign the patched SidecarCore (in Terminal):
    • If you see an error in this step, make sure you have xcode command-line tools installed (xcode-select --install, see #3) or updated (through App Store, see #2).
    • Don’t restart your computer until you complete this step properly (or revert the backup file)! Many people have run into issues with this (#28, #22).
    • macOS Catalina 10.15.4+ users: Run sudo nvram boot-args="amfi_get_out_of_my_way=0x1", then skip step 9.
sudo codesign -f -s - /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore
  1. (Optional, but recommended (but not recommended for macOS Catalina 10.15.4+)) Reboot Into Recovery, re-enable System Integrity Protection:
csrutil enable
  1. Reboot Into macOS, the patched devices should now work in wired mode.

Troubleshooting

  1. “The iPad picture quality is sub-optimal!”

    Try using wired connection. For older Macs without hardware HEVC encoder/decoders, it may need extra bandwidth to transmit the screen.

  2. “Error 32002”

    This happens on wireless connection for some models. Try using a wire instead and confirm your device appears listed on Finder and it’s trusted. If it does not appear, try a different lightning cable (Some people have reported that wired isn’t working either on some older models e.g. MacbookPro 2012)

  3. “None of my apps open anymore, They keep crashing!”

    You probably forgot to do step 8. If you can use the Terminal, do steps 5,6 and 8 again. If you can’t use the Terminal (it keeps crashing), boot into single user mode and do steps 6 and 8 after doing step 5 in Recovery Mode.

  4. “In the code-signing step, I’m getting the codesign_allocate helper tool cannot be found or used.”

    Make sure you have the latest Xcode comandline tools! See issues #2 and #3.

  5. On Macs without touch bar, the Use F1, F2, etc. keys as standard function keys preference may be replaced. See #61 and #56 for solutions.

  6. General questions to consider before opening an issue:

    1. Did you try wired mode?
    2. Does your device show up in Finder’s sidebar?
    3. Did you click “trust” in Finder under the device tab?
    4. Did you try unlocking your iPad before connecting?
    5. Did you try restarting both devices and connecting again?
    6. Try these
  7. “My question isn’t listed”

    Search in issues or open a new one! Note that I can only fix things that are specific to Free Sidecar (enable/disable sidecar for certain devices). Most usability issues with Sidecar can only be addressed by Apple.

  8. “I want to revert to the original SidecarCore”

    Hope you still have the backup file from step 1! (~/Downloads/SidecarCore.bak). Disable System Integrity Protection (step 5), mount the system volume as read-write (step 6) and run the following command in Terminal:

    sudo cp ~/Downloads/SidecarCore.bak /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore
    
    • macOS 10.15.4+: Run sudo nvram -d boot-args
    • Earlier macOS 10.15 versions: re-enable System Integrity Protection (step 9).

    Your system should be in the same state as before you applied the patch!

Contributing

Submit PRs and open issues!

Inspirations

SidecarPatcher - ~This replaces a hex string that only exists in beta versions (and apparently some official releases?) (thus does not work for me in the final release).~ (Update: SidecarPatcher has updated its patch method to be the same as Free Sidecar. Now the two projects can be used interchangeably :tada:). Free Sidecar uses partial device model string matching (details here) and should work for future versions of macOS as well.

评论

暂无评论