本文要说的是Xcode 8下使用Alcatraz的可能性。我在搜索Xcode 8 下如何使用 Alcatraz 时,搜到了下面一个方案。
具体步骤如下:
从https://github.com/steakknife/unsign下载unsign工具,使用 make
编译unsign,得到可执行文件unsign
git clone https://github.com/steakknife/unsign.git
cd unsign
make
然后使用unsign
为xcode移除签名。
sudo ./unsign /Applications/Xcode.app/Contents/MacOS/Xcode
会在/Applications/Xcode.app/Contents/MacOS/
下生成Xcode.unsigned
,备份好原始的Xcode
,把Xcode.unsigned
重命名为Xcode
,重启Xcode。你就会发现Xcode提醒你是否加载Alcatraz的Bundle。
然后运行以下命令
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
重启Xcode即可。我装了两个插件 Uncrustify 和Auto-Importer,目前来说是可用的。
注意
这种方法可能会导致Xcode不稳定,所以还是谨慎使用。
更新
今天创建了一个测试的项目,用unsign过的Xcode打包,然后Upload到AppStore,没发现有什么问题,Build 1 已经可用了,只不过我没有最终递交Review。如果大家遇到什么问题可以在下面评论留言。
今天用的时候发现有些插件可能导致Xcode崩溃,应该是Xcode结构有一些变化导致的。
网友评论
reading infile: /Applications/Xcode.app/Contents/MacOS/Xcode
found LC_CODE_SIGNATURE
not a fat binary
/Applications/Xcode.app/Contents/MacOS/Xcode.unsigned: Permission denied
Abort trap: 6
执行 ./unsign /Applications/Xcode.app/Contents/MacOS/Xcode
怎么解决
没有生成 xcode.unsign