1.桌面创建文件夹HYSDKProject(名字自己定)
2.创建Workspace


3.创建demo(负责调试打包成framework的工程,跟平时创建工程一样的流程,创建的demo工程放在步骤1中的文件夹中)
4.创建编写边测试的demo(注意,这个是方便开发SDK实时测试时不用打包成framework,创建方式跟平时创建工程一个样子,待会会介绍如和跟SDK关联)
5.创建打包framwork的SDK工程创建流程如下:



6.添加脚本打包流程如下




7.复制下面的脚本到以下第13步骤中,直接复制粘贴
FMK_NAME={SRCROOT}/Products/
{WRK_DIR}/Release-iphoneos/
{WRK_DIR}/Release-iphonesimulator/
{FMK_NAME}" -sdk iphoneos -arch armv7 -arch armv7s -arch arm64 clean build
xcodebuild -configuration "Release" -target "{INSTALL_DIR}" ]
then
rm -rf "{INSTALL_DIR}"
cp -R "{INSTALL_DIR}/"
lipo -create "{FMK_NAME}" "
{FMK_NAME}" -output "
{FMK_NAME}"
rm -r "{INSTALL_DIR}"

9.好了,工程都创建完毕,接下来开始关联项目,打开第一步创建的Workspace



10.重复步骤9,再把剩下的两个工程全部添加进来,操作和步骤9一样,添加完成后如下:

11.把demo和SDK关联,先打包sdk

运行成功后会自动弹出打包好的framework文件夹

12.Xcode10打出的包如果是空的

或者打包报错如下:
错误:
** BUILD SUCCEEDED **
cp: build/Release-iphoneos/SDK_test.framework/: No such file or directory
fatal error: lipo: can't open input file: build/Release-iphoneos/SDK_test.framework/SDK_test (No such file or directory)
/Users/HCY/Library/Developer/Xcode/DerivedData/SDK_test-ggutehwxniiaiygxexxdpyoyrshs/Build/Intermediates.noindex/SDK_test.build/Debug-iphonesimulator/SDK_testFramwork.build/Script-2710194021FD934D000B5B4C.sh: line 17: unexpected EOF while looking for matching `"'
/Users/HCY/Library/Developer/Xcode/DerivedData/SDK_test-ggutehwxniiaiygxexxdpyoyrshs/Build/Intermediates.noindex/SDK_test.build/Debug-iphonesimulator/SDK_testFramwork.build/Script-2710194021FD934D000B5B4C.sh: line 19: syntax error: unexpected end of file
Command PhaseScriptExecution failed with a nonzero exit code
13.关闭workspace工程,单独打开HYSDK



上面的问题就解决了
14.重新打开workspace工程重复步骤11,关联demo


这里是按照路径添加的,以后重新生成了framwork,这里也会是最新的,只用添加一次。
14.步骤13是为了测试打包好的framework,平时写sdk时,是边写边测,总是生成framework总是不方便,这里就是讲HYWriteSDKProject和sdk关联了。这里是引用HYSDK内的文件




好了一套完整流程就完成了,可以愉快的开发了
网友评论