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
- AndroidStudio升級到3.1及Gradle4.4的填坑AndroidGradle
- 微信小程式填坑心路微信小程式
- iOS初學之填坑總結iOS
- 微信小程式填坑清單微信小程式
- npm node升級到最新版本NPM
- MacOs 升級 Git 到最新版本MacGit
- IOS微信版本過低無法登入 2024最新iOS
- 填坑Ⅱ
- 使用Swift快速整合環信IM iOS SDK並實現單聊SwiftiOS
- Vagrant homestead (laravel)開發環境搭建(填坑)Laravel開發環境
- 微信小程式之逆地址解析填坑微信小程式
- [日常填坑系列]CAP食用指南-版本引用問題
- 踩坑!填坑!NodeJS環境使用GraphicIMagicK裁切、縮放圖片NodeJS
- compilephpwithopensslonmacosxerror填坑CompilePHPMacError
- streamparse 填坑
- Hibernate填坑
- 小程式踩坑填坑
- 公司ES升級帶來的坑怎麼填?
- Android Sdk版本、Support包版本及常用框架最新版本彙總Android框架
- vim 填坑之路
- Date填坑記
- Elasticsearch 填坑記Elasticsearch
- Flutter 填坑整理Flutter
- 微信sdk 公眾號 微信支付 NFC 坑&筆記筆記
- 寶塔皮膚版本升級實戰教程—升級寶塔皮膚到最新版本
- 升級到iOS 18、降級回iOS 17iOS
- iOS環信整合(附demo)iOS
- 在Mac上使用Homebrew升級到PHP為最新版本MacPHP
- Flutter填坑筆記:從flutter pub get error 開始,定位Dart SDK問題Flutter筆記ErrorDart
- 小程式花式填坑
- 05-待填坑...
- CocoaPods最新版本升級
- iOS直播SDK升級文件_2018_10_18iOS
- iOS Debug和Release環境的最新配置iOS
- 整合環信IM SDK及使用注意事項
- 環信大學:12306十年填坑路對客戶中心智慧化變革的啟示
- Cocospod 升級到指定版本