ios上傳打包,遇到的itms,90362,90087 錯(cuò)誤

最近幫部門(mén)內(nèi)部其他小組利用RN寫(xiě)app,但是對(duì)于移動(dòng)開(kāi)發(fā)的中的,ios和 android工程上的問(wèn)題,
沒(méi)有移動(dòng)開(kāi)發(fā)經(jīng)驗(yàn)還是不行的,所以,工程相關(guān)的坑,就讓我來(lái)趟了。

打包上傳,本以為沒(méi)什么問(wèn)題,結(jié)果出了幾個(gè)錯(cuò)誤

Paste_Image.png

itsm-90087

提示自建的framework包包含了不支持的架構(gòu) x86_64,之前用存靜態(tài)庫(kù)(.a)是沒(méi)有這個(gè)問(wèn)題,
查閱相關(guān)資料得知,自建framework在打正式包的時(shí)候,需要自己做 thin 處理,


lipo Stickies.app/Contents/MacOS/Stickies -thin i386  
-output Stickies.app/Contents/MacOS/Stickies.i386

例如上段命令,可以從 fat 過(guò)的包中,提取出某個(gè)架構(gòu)的包。

Daniel Kennett
給出了他的方案,在 Build Phases -> Embed Frameworks 之后加一個(gè) 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

作用是根據(jù)工程聲明,做thin處理,替換framework

itsm-90362

這個(gè)itsm提示另一個(gè)的framework的info.plist有問(wèn)題,提示版本號(hào)問(wèn)題,查看一下
最小版本是7.0,沒(méi)有問(wèn)題啊,實(shí)在搞不清楚為什么提示我8.0,我的app版本是8.0
framework版本是7.0 沒(méi)有任何問(wèn)題啊,

原來(lái)是自建framework最小要求ios8.0的原因,把該framework改成8.0,問(wèn)題解除

access privacy-sensitive

終于通過(guò)提交,結(jié)果收到蘋(píng)果一封信

This app attempts to access privacy-sensitive data without a usage description.
The app's Info.plist must contain an NSCameraUsageDescription key with a string
value explaining to the user how the app uses this data.

感情是我用到了相機(jī),但是沒(méi)有申請(qǐng)?jiān)L問(wèn)該權(quán)限的說(shuō)明,好吧,在info.plist 里面加上

<key>NSCameraUsageDescription</key>
<string>支付安全考慮</string>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容