接口异常: Error Domain=NSPOSIXErrorDomain Code=100 "Protocol error"
出现这种错误是由于客户端与服务端协议不统一,在客户端协议层就会被拦截。关于此种类型异常可参考:stackoverflow中关于此异常讨论
场景一:HTTPS环境下发送POST请求,采用HTTP2.0协议通信。request的HTTPHeader中针对"Authorization"设定错误,或其他header的参数异常导致的。
Xcode10:error: unable to attach DB
在使用脚本构建静态库时,Xcode10 就开始报这个错误。
note: Using new build system
note: Planning build
note: Using build description from disk
Build system information
error: unable to attach DB: error: accessing build database "/Users/Walker/Library/Developer/Xcode/DerivedData/HBOpenAccount-fjoftrlbpvrhwpdranrkzhueiwlu/Build/Intermediates.noindex/XCBuildData/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.
** BUILD FAILED **
这是采用新系统构建产生的异常,在脚本中,我指定 OBJROOT (中间产生的文件路径)是这样:
OBJROOT="${OBJROOT}"
在Xcode10采用新系统构建应该调整了一些文件路径,通过StackOverFlow问答中我了解到需要改为这样:
OBJROOT="${OBJROOT}/DependentBuilds"
这样就可以解决Xcode10打包构建问题。
我们还可以通过禁用新系统构建,可以在xcodebuild命令中添加 -UseModernBuildSystem=NO 指令,使用旧版本构建。
xcodebuild -configuration "${CONFIGURATION}" -project "${PROJECT_NAME}.xcodeproj" -target "${TARGET_NAME}" -sdk "${OTHER_SDK_TO_BUILD}" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" SYMROOT="${SYMROOT}" -UseModernBuildSystem=NO