IOS 環信3.0升級到最新版本SDK填坑
❤️一、說說當時情況,因為專案上線也比較緊急,然後匆忙拿別人已經簡化了的專案整合單聊頁面。專案是可以執行起來,環信即時通訊也沒有問題,環信整合版本是✅3.0✅版本,然後,當、當、當就提審了,但是後面卻隱藏了個大問題。
❤️二、提審之後,發現蘋果稽核小組那邊登入不上去,而且是兩次拒絕了,都是在環信登入那裡出問題,直接登入失敗。然後就開始扒帖子,看到這句話,然後一頓mmp。
❤️三、然後去諮詢環信客服是否支援IPV6,下面是結果。不得不吐槽一下,妹的,環信還上市了,上市了,然而還得工單方式提問題,兩三個小時不回一句話,說要升級VIP才能建QQ群回答問題,TMD就是變著法坑錢。
❤️以前整合環境:手動整合的環信3.0
1、下載環信最新官方SDK檔案,正式開始升級環信
[環信官網地址]https://www.easemob.com/download/im
❤️因為使用沒有實時語音的,所以整合Lite版本就行。
2、環信檔案
❤️老版本檔案目錄
3、新版本SDK檔案替換老版本SDK檔案
4、cmd+b 編譯一下,報錯,引用檔案變化所致。
5、更換標頭檔案,cmd+b
//將標頭檔案更換一下
//#import "EMSDK.h"
#import <HyphenateLite/HyphenateLite.h>
6、提示檔案找不到,直接將報錯的地方改為下面程式碼
//現在引入路徑都變為HyphenateLite下面,所以提示not found都換到HyphenateLite下面
#import <HyphenateLite/EMMessage.h>
7、報錯,註釋掉,環信歷史訊息獲取,先註釋
8、報錯,成功列舉有改變,Fix一下,cmd+b 編譯一下,不出意外,就編譯成功!但是提交稽核,卻通不過
9、提交稽核錯誤資訊,就是蘋果不允許將模擬器框架x86和i386包含進去
10、將下面程式碼新增到 Targets > Build Phases > Run Script (❤️沒有就直接新增)
//這段程式碼是指令碼語言,因此顏色就是這樣的,
//有可能會造成不起作用
//不起作用可以試著刪除,重新新增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
11、最後還有一步,那就是 Run script only when installing 勾上。 Run script only when installing,大概意思是在特定環境下才跑指令碼。
(1)、說說不勾的情況:不勾選的的時候,App提交是可以通過,但是模擬器和真機都直接報錯,說是Xcode 10 升級編譯系統問題,但是沒有深究。
(2)、勾選的情況:在提交上傳App是通過的,並且在本地執行也不會有錯誤出現。並不是很理解,找個時間再看看這個問題。
12、✅升級結束,專案還有一點,就是環信歷史資訊得看看。
[國外大牛參考文件]https://www.cnblogs.com/zhaofj/p/6305988.html
[上傳失敗參考文件]http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/
相關文章
- Flutter for web 最新填坑FlutterWeb
- mysql的zip版本安裝填坑MySql
- iOS初學之填坑總結iOS
- MacOs 升級 Git 到最新版本MacGit
- npm node升級到最新版本NPM
- [iOS]貝聊 IAP 實戰之見坑填坑iOS
- 使用Swift快速整合環信IM iOS SDK並實現單聊SwiftiOS
- AndroidStudio升級到3.1及Gradle4.4的填坑AndroidGradle
- 填坑Ⅱ
- [日常填坑系列]CAP食用指南-版本引用問題
- Mac升級10.11 EI Captain 填坑MacAPTAI
- streamparse 填坑
- Vagrant homestead (laravel)開發環境搭建(填坑)Laravel開發環境
- 寶塔皮膚版本升級實戰教程—升級寶塔皮膚到最新版本
- 踩坑!填坑!NodeJS環境使用GraphicIMagicK裁切、縮放圖片NodeJS
- iOS環信整合(附demo)iOS
- 小程式踩坑填坑
- 公司ES升級帶來的坑怎麼填?
- Flutter 填坑整理Flutter
- vim 填坑之路
- Hibernate填坑
- Elasticsearch 填坑記Elasticsearch
- vue微信填坑Vue
- javascript 填坑史JavaScript
- React 填“坑”記React
- Date填坑記
- Android Sdk版本、Support包版本及常用框架最新版本彙總Android框架
- iOS一定要升級到最新的背後真相大揭秘iOS
- 在Mac上使用Homebrew升級到PHP為最新版本MacPHP
- ReactNative填坑之旅–與Native通訊之iOS篇ReactiOS
- 小程式花式填坑
- 05-待填坑...
- compilephpwithopensslonmacosxerror填坑CompilePHPMacError
- Flutter填坑筆記:從flutter pub get error 開始,定位Dart SDK問題Flutter筆記ErrorDart
- Cocoapods 版本升級遇到的坑
- Flutter1.9升級體驗總結(幫大家填坑了)Flutter
- Flutter填坑全面總結Flutter
- OpenJFX編譯填坑之路編譯