iOS 打包问题集合(持续更新~)

该文章主要是记录 iOS 打包遇到的一些问题。

The data couldn’t be read because it isn’t in the correct format

  1. 打包的时候遇到一个奇怪的报错信息 The data couldn’t be read because it isn’t in the correct format,查看日志文件发现报 can not load such file -- sqlite3 (LoadError)的错误信息
    image.png
/Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- sqlite3 (LoadError)
from /Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:24:in `
' 2018-12-04 20:14:31 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/ipatool exited with 1 2018-12-04 20:14:31 +0000 ipatool JSON: (null)

大概意思就是找不到 sqlite3 这个文件
解决办法如下:

gem list | grep sqlite3

如果没有输出信息则说明确实少了 sqlite3 这个文件。
执行下面这条命令安装。

gem install sqlite3 --platform=ruby

安装成功后如果没有生效的话就重启电脑吧。

如果并不是报缺少某个文件的错误信息,可以使用以下命令来检测工程配置文件语法是否有错。

plutil Info.plist

Xcode 10: unable to attach DB error

使用命令行打包 .a 文件在 Xcode 10 有遇到这个问题,在 Xcode 9 上面是正常的。

Build system information
error: unable to attach DB: error: accessing build database "/Users/lihs/Library/Developer/Xcode/DerivedData/UserCenter-dafymnmmjxddclfxazuozrgwchms/Build/Intermediates.noindex/XCBuildData/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.

** BUILD FAILED **

Build settings from command line:
    SDKROOT = iphoneos12.4
    TOOLCHAINS = com.apple.dt.toolchain.XcodeDefault

note: Using new build system
note: Planning build

查了下 stackoverflow ,大佬们早已经解决了这个问题链接

只要在 xcodebuild 命令下加个参数 OBJROOT="${OBJROOT}/DependentBuilds" 完美解决问题:

xcodebuild -workspace ${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -sdk iphoneos -configuration ${CONFIGURATION} OBJROOT="${OBJROOT}/DependentBuilds"

你可能感兴趣的:(iOS 打包问题集合(持续更新~))