Paralel Oluşturmayı etkin tutmak ve eksik başlık sorunlarından kaçınmak istiyorsanız, tepki başlıklarını türetilmiş veri alanına yerleştirmek için şemanızda bir ön oluşturma adımı sağlayın. Bu durumda derleme ayarlarının React projesinden geldiğine dikkat edin. Evet, güzel bir şey değil ama işi hallediyor ve aynı zamanda yapılardan çok fazla zaman alıyor. Prebuild adım çıktısı prebuild.log'da son bulur. Kopyalamanız gereken tam üstbilgiler, projenizin yerel tepki bağımlılıklarına bağlı olacaktır, ancak bundan jist elde edeceksiniz.
Türetilmiş veri dizinini ortam değişkenlerinden alın ve gerekli tepki başlıklarını kopyalayın.
#build_prestep.sh (chmod a+x)
derived_root=$(echo $SHARED_DERIVED_FILE_DIR|sed 's/DerivedSources//1')
react_base_headers=$(echo $PROJECT_FILE_PATH|sed 's#React.xcodeproj#Base/#1')
react_view_headers=$(echo $PROJECT_FILE_PATH|sed 's#React.xcodeproj#Views/#1')
react_modules_head=$(echo $PROJECT_FILE_PATH|sed 's#React.xcodeproj#Modules/#1')
react_netw_headers=$(echo $PROJECT_FILE_PATH|sed 's#React/React.xcodeproj#Libraries/Network/#1')
react_image_header=$(echo $PROJECT_FILE_PATH|sed 's#React/React.xcodeproj#Libraries/Image/#1')
echo derived root = ${derived_root}
echo react headers = ${react_base_headers}
mkdir -p ${derived_root}include/React/
find "${react_base_headers}" -type f -iname "*.h" -exec cp {} "${derived_root}include/React/" \;
find "${react_view_headers}" -type f -iname "*.h" -exec cp {} "${derived_root}include/React/" \;
find "${react_modules_head}" -type f -iname "*.h" -exec cp {} "${derived_root}include/React/" \;
find "${react_netw_headers}" -type f -iname "*.h" -exec cp {} "${derived_root}include/React/" \;
find "${react_image_header}" -type f -iname "*.h" -exec cp {} "${derived_root}include/React/" \;
Komut dosyası, build-clean sırasında çağrılır - ki bu ideal değildir. Benim durumumda, bir temizlik sırasında komut dosyasından erken çıkmama izin veren değişen bir env değişkeni var.
if [ "$RUN_CLANG_STATIC_ANALYZER" != "NO" ] ; then
exit 0
fi