場景1-------> IOS打包出現(xiàn) Found an unexpected Mach -O header code:0x72613c21
當(dāng)你導(dǎo)入一個***SDK 之后 build 沒有任何問題 然后你開開心心的去打包 發(fā)現(xiàn)WTF 居然報錯了!!!!報錯信息如下~

為啥嘞?那么好吧 點(diǎn)擊show logs 打印日志發(fā)現(xiàn) 出現(xiàn)最多的信息就是Didn't find archived user entitlements (沒有發(fā)現(xiàn)存檔的用戶權(quán)利) 其實(shí)說白了就是你導(dǎo)入的SDK 出了問題(至于哪個SDK 日志當(dāng)中都有指出就不貼圖片出來了)
然后你就發(fā)現(xiàn) 如下圖~

你將一個*** framework 的靜態(tài)庫 放到了 Embedded Binaries(放動態(tài)庫依賴文件) 里面導(dǎo)致 項(xiàng)目打包 報錯。
到了這里 你當(dāng)然需要 將*** framework 從 Embedded Binaries(動態(tài)庫里來文件)中刪除 ,但是你直接刪除 會發(fā)現(xiàn)下面 linked Frameworks and libraries (簽署了框架和庫)中*** framework也沒了。那咋辦? 很簡單 你只需在 linked Frameworks and libraries 重新 “+” 那個被刪除的 *** framework 就好了~
到這里 重新打包ipa文件 發(fā)現(xiàn) ipa文件 生成成功~
場景2------->x86_64,i386 錯誤解決方案
但是你以為到這里就完了嗎?你還有可能遇到 如下問題 (如果你沒有遇到 請略過 ) 你雖然 ipa 文件生成成功,但是不代表上傳ipa 文件到appstore 會成功,在上傳 appstore 的時候 你可能會遇到 下圖所示問題

遇到這個問題 你可以直接百度 搜索關(guān)鍵詞 "ERROR ITMS - 90209" 就可以找到類似的解決辦法 , 如果你懶得找 那么看我下面的解釋也可以。
首先為啥會報 x86_64,i386 的錯誤 ...........
因?yàn)?br>
1、你導(dǎo)入的 **** 庫文件有可能有兩種, 一種支持真機(jī)和模擬器, 一種只支持真機(jī), 如果測試需要用到模擬器, 測試時可以用前一種, 如果不用模擬器全程只用真機(jī), 建議用只支持真機(jī)的庫, 在Release文件夾下, 發(fā)布應(yīng)用時不能使用同時支持真機(jī)和模擬器的庫文件, 否則會報錯
2、使用腳本打包前去掉不需要的架構(gòu)(推薦) 如下圖~

將如下代碼 放置到Run script中
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done

搞定這步之后,你需要重新生成ipa文件,重新提交到Appstore 提交,這回你會發(fā)現(xiàn) 哇塞,居然不報錯了耶~
到這里你的所有沖突解決完畢~ 希望可以幫到你 謝謝~