pod install時,下載realm又費時還出錯了。Ver3.12版本之前還是好的,Ver3.14就不行了。
出錯信息:
[!]/bin/bash -c?
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: sync 3.15.1 from https://static.realm.io/downloads/sync/realm-sync-cocoa-3.15.1.tar.xz
Downloading sync failed:
https://static.realm.io/downloads/sync/realm-sync-cocoa-3.15.1.tar.xz
curl:(56)LibreSSL SSL_read: SSL_ERROR_SYSCALL,errno 54
在執(zhí)行sh build.sh cocoapods-setup 這個命令的時候,去下載realm-sync-cocoa-3.15.1.tar.xz這個文件了,結(jié)果下載失敗了。
Github上的issues里找到了類似問題,就是因為國內(nèi)的網(wǎng)絡原因,也有人提出了解決方案,就是事先下載好所需要的文件。但是由于realm版本升級,解決方案也有變化了。
pod install 失敗后,build.sh這個文件可以在工程文件夾的/Pods/Realm目錄中找到。
build.sh部分內(nèi)容:
? ? if [ "$download_type" == "core" ]; then
? ? ? ? version=$REALM_CORE_VERSION
? ? ? ? url="${REALM_BASE_URL}/core/realm-core-${version}.tar.xz"
? ? elif [ "$download_type" == "sync" ]; then
? ? ? ? version=$REALM_SYNC_VERSION
? ? ? ? url="${REALM_BASE_URL}/sync/realm-sync-cocoa-${version}.tar.xz"
? ? else
? ? ? ? echo"Unknown dowload_type: $download_type"
? ? ? ? exit1
? ? fi
? ? echo"Downloading dependency: ${download_type} ${version} from ${url}"
? ? if[ -z"$TMPDIR"];then
? ? ? ? TMPDIR='/tmp'
? ? fi
? ? temp_dir=$(dirname"$TMPDIR/waste")/${download_type}_bin
? ? mkdir -p"$temp_dir"
? ? tar_path="${temp_dir}/${download_type}-${version}.tar.xz"
? ? temp_path="${tar_path}.tmp"
下載realm-sync-cocoa-3.15.1.tar.xz時,會先放到$TMPDIR/sync_bin這個臨時目錄下面,并且重命名為
sync_3.15.1.tar.xz。
就是執(zhí)行這個步驟時非常的耗時并且出錯了。
所以需要先通過網(wǎng)頁或者命令行手動下載好realm-sync-cocoa-3.15.1.tar.xz,然后放到$TMPDIR/sync_bin這個臨時目錄下面,并且重命名為sync_3.15.1.tar.xz。然后將Pods文件夾清空后,重新執(zhí)行pod install。
這樣會節(jié)省大量時間并且不會出錯,不過即使是這樣,安裝realm也還是很慢。
「3.15.1」這個版本號經(jīng)常會變,最新的版本號可以查看這個文件獲得。