项目中遇到的一些cordova打包问题,现在整理一下做下记录
1. Mac 下安装 cordova-hot-code-push-cli 失败,执行命令为:sudo npm i -g cordova-hot-code-push-cli
错误提示显示 permission 问题,安装 ngrok 失败,
执行一下命令:
sudo npm i -g ngrok --unsafe-perm=true --allow-root
2. 安装ios-deploy失败问题
sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
3. CocoaPods not install
CocoaPods 一直安装不成功,到 git 将代码clone到本地安装位置:
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
4. FIXME: Implement XCBuild support for macros in overriding parameters with condition sets:
Go to Xcode and open the project generated then navigate -> File -> Workspace Settings -> Build System and select “Legacy Build System”
5. iOS上架报错90080,90087,90209,90125 解决办法
解决办法: xcode中找到 TARGETS->Build Phases->点击加号->New Run Script Phase->粘贴下面代码
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
6. iOS APP广告标识符查看
首先cd到你的工程目录下,然后执行命令:
grep -r advertisingIdentifier .
grep -r advertisingIdentifier 简单的说,你用这条语句检测自己的工程,如果没有查到相关引用,那么就不要勾选使用idfa,如果查到了相关引用,并且这些文件是用于展现广告的用途,那么勾选使用了idfa
7. cordova ios 加载iframe显示空白
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
8. cordova ios iframe内容不能滚动
<div class="scroll">
<iframe src="https://xxx"></iframe>
</div>
/* 加载iframe的父元素上 */
.scroll {
-webkit-overflow-scrolling: touch;
overflow-y: scroll;
}
9. 运行项目报错提示 The certificate used to sign “××××××××××” has either expired or has been revoked
app使用测试过程中,莫名闪退点击启动图标再也打不开app, 但是代码什么也没有改动, 后在用xcode重新打包发现报上面的错误, 哦,原来是证书问题,可能证书过期了,去钥匙串中查看发现没有过期的证书,mmp的只能放大招,关机重启!!!
重启后在签名证书中出现 Your account already has a signing certificate for this machine but it is not present i…
直接按照提示 Revoke掉,然后新建证书 👌
iOS开发 app 真机测试报错 dyld: Library not loaded: @rpath/libswiftCore.dylib
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/containers/Bundle/Application/3A0CFD90-A011-48BD-8FE7-E7AB97ECBB2F/***.app/Client
Reason: no suitable image found. Did find:
...code signature invalid for...
xcode 中 clean 后重新打包
后续遇到问题会继续添加! 2020-05-19