uni-app中现在所有的阿里百川插件的IOS都打包失败了

发布于 1周前 作者 vueper 来自 Uni-App

uni-app中现在所有的阿里百川插件的IOS都打包失败了

阿里百川插件,之前一直正常的,现在IOS打包都是失败的。

错误:https://app.liuyingyong.cn/build/errorLog/c88502d0-76f6-11ef-b4cb-85027c335e74

开始我以为是一个插件的问题,后来我用了其他的百川插件,都是这个问题,不知道是不是官方改了啥

6 回复

最近没有调整,从错误日志看是缺少依赖的库,关键错误信息: Undefined symbols for architecture arm64:
OBJC_CLASS$_FMDatabase”, referenced from:
objc-class-ref in UT_Core(UTMCDatabase-260c57f9ac08278310b6290b3d364ea8.o)
OBJC_CLASS$_FMDatabaseQueue”, referenced from:
objc-class-ref in UT_Core(UTMCDatabase-260c57f9ac08278310b6290b3d364ea8.o)
objc-class-ref in TriverAppContainer(TRVDBStorage.o)
OBJC_CLASS$_Reachability”, referenced from:
objc-class-ref in TriverAPI(TRVConfigService4RVPNetworkImpl.o)
objc-class-ref in TriverVideo(TRVVideoPlayerView.o)
OBJC_CLASS$_SRWebSocket”, referenced from:
objc-class-ref in AriverWebSocket(RVPWebSocketHandler.o)
OBJC_CLASS$_UTDevice”, referenced from:
objc-class-ref in AlibabaAuthExt(ALBBSecurityStorageImpl.o)
objc-class-ref in UT_Core(UTMCDeviceInfo-a568699a8ff9ac45c0404855345f3360.o)
objc-class-ref in UT_Core(UTMCSession-317427e44580b82bd518854e31d26e63.o)
objc-class-ref in UT_Core(UTDevice+UT-53dc4240104149d3a118bbee0649d860.o)
_OBJC$CATEGORY_UTDevice$_UT in UT_Core(UTDevice+UT-53dc4240104149d3a118bbee0649d860.o)
objc-class-ref in UT_Common(UT-64180bc3096e71bab5b1c3058fbd1329c9652080dde88102901ff2fbc45b65ff.o)
objc-class-ref in TriverAppContainer(TRVAppContainer.o)

“_SRWebSocketErrorDomain”, referenced from:
-[RVPWebSocketHandler webSocket:didFailWithError:] in AriverWebSocket(RVPWebSocketHandler.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation) 另外,HBuilderX4.26及以后版本会更新打包机环境为XCode15.4,可以尝试用最新版本alpha版本打包。


新版的容易导致资源丢失,比如res里面的RAW,drawable,打包下来的APK没有这些文件,我是专门从新版换成旧版的

你好再帮我看看这个是啥错误,换了一个插件还是错,https://app.liuyingyong.cn/build/errorLog/b9fa7ac0-7718-11ef-a370-bd217603359a

回复 插插妹: 同样是“Undefined symbols for architecture arm64”错误,可以尝试在manifest.json的“App模块配置”中的“Payment(支付)”下勾选“支付宝支付” 模块后再重新提交打包。

回复 DCloud_App_Array: 这个早就勾了,刚才确认了一下是勾了,我的代码和设置都没改过,以前都打包正常,突然就不能打包了,理论上是打包机改了。

在处理uni-app中阿里百川插件的iOS打包失败问题时,通常涉及到配置、依赖和兼容性问题。以下是一些可能的解决步骤和相关代码示例,以帮助你定位和解决问题。

1. 检查Podfile配置

首先,确保你的Podfile文件中包含了所有必要的阿里百川SDK依赖。例如:

platform :ios, '10.0'

target 'YourAppName' do
  # uni-app 默认的依赖
  pod 'uni-app-ios-sdk', '~> x.y.z'

  # 阿里百川插件依赖
  pod 'AlipaySDK', '~> 2.15.4' # 示例版本号,请根据实际使用版本调整
  pod 'TBSDK', '~> 3.8.3' # 示例版本号,请根据实际使用版本调整
  # 其他阿里百川相关依赖...

  # 其他依赖...
end

确保你使用的版本号是兼容的,并且与uni-app的当前版本相匹配。

2. 清理和更新Pods

在iOS项目中,Pods的缓存和旧版本有时会导致打包失败。尝试以下命令来清理和更新Pods:

cd path/to/your/ios/project
pod deintegrate
pod install

3. 检查Xcode配置

在Xcode中,确保你的项目配置正确:

  • Build Settings:检查是否有任何与阿里百川SDK相关的编译设置错误。
  • Framework Search Paths:确保包含了阿里百川SDK的路径。
  • Other Linker Flags:添加必要的链接标志,如-ObjC

4. 更新uni-app和插件

确保你的uni-app和所有相关插件都是最新版本。有时,打包失败是由于版本不兼容或已知的bug导致的。

5. 查看日志和错误信息

在Xcode中查看详细的编译日志,找到具体的错误信息。这通常是解决问题的关键。

6. 示例代码:确保插件正确初始化

在你的uni-app代码中,确保你正确初始化了阿里百川插件。以下是一个简单的示例,用于初始化AlipaySDK:

// 在uni-app的某个页面或组件中
export default {
  onLoad() {
    // 初始化AlipaySDK,示例代码,请根据实际插件文档调整
    const Alipay = uni.requireNativePlugin('Alipay');
    Alipay.init({
      success: (res) => {
        console.log('Alipay initialized successfully:', res);
      },
      fail: (err) => {
        console.error('Failed to initialize Alipay:', err);
      }
    });
  }
}

注意:上述代码仅为示例,具体实现需根据阿里百川插件的文档进行调整。

如果以上步骤仍然无法解决问题,建议查阅uni-app和阿里百川插件的官方文档,或在相关社区和论坛中寻求帮助。

回到顶部