OpenFlutter / rammus

Flutter Plugin for AliCloud Push.阿里云推送插件
Apache License 2.0
77 stars 40 forks source link

本插件和tobias插件ios上有冲突 #23

Closed jinxing88 closed 4 years ago

jinxing88 commented 4 years ago

tobias: ^1.6.0+1 rammus: ^1.2.1

duplicate symbol '_OBJCMETACLASS$_UTDIDKeychainItemWrapper' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDKeychainItemWrapper.o) duplicate symbol '_OBJCIVAR$_UTDIDKeychainItemWrapper.keychainItemData' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDKeychainItemWrapper.o) duplicate symbol '_OBJCCLASS$_UTDIDPersistentConf' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDPersistentConf.o) duplicate symbol '_OBJCMETACLASS$_UTDIDPersistentConf' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDPersistentConf.o) duplicate symbol '_OBJCCLASS$_UTDIDPersistentFile' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDPersistentFile.o) duplicate symbol '_OBJCMETACLASS$_UTDIDPersistentFile' in: /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK /Users/Shared/workspace/flutter/flutter_cpp/ios/Pods/AlicloudUTDID/utdid/UTDID.framework/UTDID(UTDIDPersistentFile.o) ld: 32 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) note: Using new build system note: Planning build note: Constructing build description

Could not build the precompiled application for the device.

JarvanMo commented 4 years ago

Uuid重复了,可以自己换个no uuid版本------------------ 原始邮件 ------------------ 发件人: "叶尼水"<notifications@github.com> 发送时间: 2020年7月28日(星期二) 下午5:01 收件人: "OpenFlutter/rammus"<rammus@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: [OpenFlutter/rammus] 本插件和tobias插件ios上有冲突 (#23)

jinxing88 commented 4 years ago

Uuid重复了,可以自己换个no uuid版本------------------ 原始邮件 ------------------ 发件人: "叶尼水"<notifications@github.com> 发送时间: 2020年7月28日(星期二) 下午5:01 收件人: "OpenFlutter/rammus"<rammus@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: [OpenFlutter/rammus] 本插件和tobias插件ios上有冲突 (#23)

非常感谢,搞定了

raymond-liao commented 3 years ago

我们也遇到这个问题,请教一下怎么换?有示例吗?

raymond-liao commented 3 years ago

我参考了这个链接: https://github.com/flutter/flutter/issues/17978 导入成功了。 AlicloudUtils.framework, CloudPushSDK.framework, UTMini.framework 放入了 rammus/ios/,修改了 rammus/ios/rammus.podspec 如下:

Pod::Spec.new do |s|
  s.name             = 'rammus'
  s.version          = '0.0.1'
  s.summary          = 'A new Flutter plugin for AliCloud push.'
  s.description      = <<-DESC
A new Flutter plugin for AliCloud push.
                       DESC
  s.homepage         = 'http://example.com'
  s.license          = { :file => '../LICENSE' }
  s.author           = { 'Your Company' => 'email@example.com' }
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.public_header_files = 'Classes/**/*.h'
  s.dependency 'Flutter'

  s.preserve_paths = 'AlicloudUtils.framework', 'CloudPushSDK.framework', 'UTMini.framework'
  s.xcconfig = { 'OTHER_LDFLAGS' => '-framework AlicloudUtils, -framework CloudPushSDK, -framework UTMini' }
  s.vendored_frameworks = 'AlicloudUtils.framework', 'CloudPushSDK.framework', 'UTMini.framework'

  s.frameworks = ["SystemConfiguration", "CoreTelephony"]
  s.libraries = ["z", "sqlite3.0", "resolv"]
  s.static_framework = true

  s.ios.deployment_target = '10.0'
end

暂时是把冲突解决了,还未测试推送功能是否有影响,稍后更新。

raymond-liao commented 3 years ago

上面这个方法很好用,iOS 没问题了。

但是现在 Android 也出现了:

Duplicate class com.ta.utdid2.a.a.a found in modules jetified-alicloud-android-utdid-2.5.1-proguard (com.aliyun.ams:alicloud-android-utdid:2.5.1-proguard) and jetified-alipaysdk-15.8.03.210428205839-runtime (:alipaysdk-15.8.03.210428205839:)

我对 Android 配置不熟,正在找寻解决方法。

JarvanMo commented 3 years ago

先把Tobias降低一个小小版本------------------ 原始邮件 ------------------ @.> 发送时间: 2021年6月28日(星期一) 中午12:05 @.>; @.**@.>; 主题: Re: [OpenFlutter/rammus] 本插件和tobias插件ios上有冲突 (#23)

raymond-liao commented 3 years ago

@JarvanMo 非常感谢,tobias: 2.1.1 有冲突报错,降到 tobias: 2.1.0 就好了!