[update] Xcode8.3.3 + iOSOpenDev + Crack_Xcode_Codesign


#1

更新Xcode后需要重新配置iOSOpenDev的开发环境(太分散了):

1. 下载安装 iOSOpenDev-1.6-2.pkg (已经很久没更新了)

2. 下载 mobilesubstrate 用于更新iOSOpenDev中的 libsubstrate.dylib 和 substrate.h

3. 使用 Com.apple.product-type.tool解决方法 为xcode添加product-type.tool的模板,如果你看过了,可以直接点击下载 Scripts.zip

4. 免证书签名执行以下crack_codesign.shcrack_codesign.sh (1.7 KB)

# Crack Xcode codesign
# SDKSettings.plist
SDK_ROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"
#sudo cp ${SDK_ROOT}/SDKSettings.plist ${SDK_ROOT}/SDKSettings.plist.bak

cp -f ${SDK_ROOT}/SDKSettings.plist ./sdk.plist
plutil -convert json sdk.plist

sed -e 's/"CODE_SIGNING_REQUIRED":"YES"/"CODE_SIGNING_REQUIRED":"NO"/g' sdk.plist > tmp.plist
sed -e 's/"ENTITLEMENTS_REQUIRED":"YES"/"ENTITLEMENTS_REQUIRED":"NO"/g' tmp.plist > SDKSettings.plist
plutil -convert binary1 SDKSettings.plist
rm -f sdk.plist tmp.plist

sudo cp -fv SDKSettings.plist ${SDK_ROOT}/SDKSettings.plist
plutil -p ${SDK_ROOT}/SDKSettings.plist | grep -A1 "ENTITLEMENTS_REQUIRED"


# Info.plist
PLATFORM_ROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform"
#sudo cp ${PLATFORM_ROOT}/Info.plist ${PLATFORM_ROOT}/Info.plist.bak

cp -f ${PLATFORM_ROOT}/Info.plist ./itmp.plist
plutil -convert json itmp.plist

sed -e 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/g' itmp.plist > tmp.plist
sed -e 's/"Version":"10.3",/"Version":"10.3","PROVISIONING_PROFILE_ALLOWED":"NO","PROVISIONING_PROFILE_REQUIRED":"NO",/g' tmp.plist > Info.plist
plutil -convert binary1 Info.plist
rm -f itmp.plist tmp.plist

sudo cp -fv Info.plist ${PLATFORM_ROOT}/Info.plist
plutil -p ${PLATFORM_ROOT}/Info.plist | grep "XCCodeSignContext"

# cleanup
rm -f SDKSettings.plist Info.plist

添加对com.apple.product-type.tool的支持

cd /Scripts
sudo ./configure-xcode-for-ios-development

修改XCode配置文件,免签名安装

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/

SDKSettings.plist

CODE_SIGNING_REQUIRED: NO
ENTITLEMENTS_REQUIRED: NO

Info.plist

+ PROVISIONING_PROFILE_ALLOWED: NO
+ PROVISIONING_PROFILE_REQUIRED: NO

XCiPhoneOSCodeSignContext -> XCCodeSignContext

PS:

sed -e ‘s/“Version”:“10.3”,/“Version”:“10.3”,“PROVISIONING_PROFILE_ALLOWED”:“NO”,“PROVISIONING_PROFILE_REQUIRED”:“NO”,/g’ tmp.plist > Info.plist

这边使用的是字符串替换,所以根据/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist 中的Version来修改,否则你会发现

+ PROVISIONING_PROFILE_ALLOWED: NO
+ PROVISIONING_PROFILE_REQUIRED: NO

添加不成功


#2

省得麻烦,MonkeyDev搞起

MonkeyDev


#3

yeap


#4

long long ago ,我也有个 https://github.com/everettjf/Yolo/tree/master/iOSOpenDevInstallFix

不过,现在还是都MonkeyDev吧


#5

您好,请问xcode9.2可以支持越狱开发吗?我看这上面都是特定的xcode版本,我去商店更新xcode 把我的8.3.3给覆盖了,太邪恶了,搞得我都想买多台mac啦(可惜没那么多钱)。
求大神指教 如何才能更新appstore的时候 新版的xcode不覆盖 旧版的

我的旧版的在应用程序里面 头文件名已经不叫xcode了 改成了xcode833 可是去商店下载最新的xcode9.2 还是会给我覆盖,怎么破


#6

https://developer.apple.com/download/more/


#7

好的,我再从这里把8.3.3下载 安装回来,谢谢


#8

xcode 9.2 也适用,目前我使用的就是 Xcode9.2 加如上的方法配置的环境


#9

好的,好的。本人现在处于入门期,还请多多指教。


#10

在下载新版之前在application里面复制粘贴一份就可以了


#11

好的,谢谢