前言
组件化实践,记录一下遇到问题的解决方案。
问题描述
通过 CocoaPods 集成自建私有库,调试没有问题,但是 Archive 报错:
ld: warning: Could not find or use auto-linked framework 'opus'
Undefined symbols for architecture armv7:
"_opus_decoder_destroy", referenced from:
-[OpusCodec destroy] in OpusCodec.o
"_opus_encoder_destroy", referenced from:
-[OpusCodec destroy] in OpusCodec.o
"_opus_decode", referenced from:
-[OpusCodec decode:length:output:] in OpusCodec.o
"_opus_encode", referenced from:
-[OpusCodec encode:length:] in OpusCodec.o
"_opus_decoder_ctl", referenced from:
-[OpusCodec opusInit] in OpusCodec.o
"_opus_encoder_create", referenced from:
-[OpusCodec opusInit] in OpusCodec.o
"_opus_decoder_create", referenced from:
-[OpusCodec opusInit] in OpusCodec.o
"_opus_encoder_ctl", referenced from:
-[OpusCodec opusInit] in OpusCodec.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
原因
Framework 不支持 Bitcode 导致的。
解决方案
通过添加下面代码解决:
s.xcconfig = {'ENABLE_BITCODE' => 'NO'}