Particle-Network / particle-ios

Particle iOS SDK
https://particle.network
Apache License 2.0
14 stars 3 forks source link

Linked error with Version 1.4.0 #7

Closed hupengfei-hinterstellar closed 4 months ago

hupengfei-hinterstellar commented 4 months ago

When I upgraded from 0.2.10 to 1.4.0, I fixed some API compatibility issues. But when I try to run the project, the compiler produces some errors.

Xcode Version 15.1 (15C65) And Minimum Deployments is iOS 14.0

ld: warning: ignoring duplicate libraries: '-lc++'
ld: warning: object file (/Users/xxxxx/Library/Developer/Xcode/DerivedData/iOS-bctxqhmlisygbobqivwjjvcbeuhq/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/AuthCoreAdapter/AuthCoreAdapter.framework/AuthCoreAdapter[3](AuthCoreAdapter.o)) was built for newer 'iOS' version (16.2) than being linked (14.0)
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
ld: Undefined symbols:
  dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol], referenced from:
      ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[176](WalletViewController.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
hupengfei-hinterstellar commented 4 months ago

Podfile of Using Particle

# Particle
  pod 'AuthCoreAdapter', '1.4.0'
  pod 'ParticleAuthCore', '1.4.0'
  pod 'ParticleMPCCore', '1.4.0'
  pod 'Thresh', '1.4.0'

  pod 'ParticleWalletGUI', '1.4.0'
  pod 'ParticleWalletAPI', '1.4.0'
  pod 'ParticleNetworkBase', '1.4.0'
  pod 'ParticleWalletConnect', '1.4.0'
  pod 'ParticleAA', '1.4.0'

  pod 'ParticleConnect', '0.2.19'
  pod 'ConnectWalletConnectAdapter', '0.2.19'
  pod 'ConnectEVMAdapter', '0.2.19'
  pod 'ConnectSolanaAdapter', '0.2.19'
  pod 'ConnectPhantomAdapter', '0.2.19'
  pod 'ConnectCommon', '0.2.19'

  # from 1.14.0 you need add this line.
  pod 'SwiftyUserDefaults', :git => 'https://github.com/SunZhiC/SwiftyUserDefaults.git', :branch => 'master'
  # from 1.14.0, if you need ParticleWalletConnect, you should add this line.
  pod 'WalletConnectSwiftV2', :git => 'https://github.com/SunZhiC/WalletConnectSwiftV2.git', :branch => 'particle'
  # if you need ParticleAuthCore or ParticleWalletGUI, you should add this line.
  pod 'SkeletonView', :git => 'https://github.com/SunZhiC/SkeletonView.git', :branch => 'main'
SunZhiC commented 4 months ago

What is the JXSegmentedView pod version in Podfile.lock? is it >= 1.3.1 ?

hupengfei-hinterstellar commented 4 months ago

Yeah, it's 1.3.3

  - JXPagingView/Paging (2.1.3)
  - JXSegmentedView (1.3.3)
SunZhiC commented 4 months ago
pod 'JXSegmentedView', '1.3.1'

Specify JXSegmentedView version to 1.3.1 to fix this error, I suppose it changes something from 1.3.1 to 1.3.3.

hupengfei-hinterstellar commented 4 months ago
pod 'JXSegmentedView', '1.3.1'

Specify JXSegmentedView version to 1.3.1 to fix this error, I suppose it changes something from 1.3.1 to 1.3.3.

After modification, it can be run successfully

beanu commented 4 months ago

I am using the React Native version and encountered the same problem.

Undefined symbols for architecture arm64 ┌─ Symbol: dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol] └─ Referenced from: ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[arm64][176](WalletViewController.o)

SunZhiC commented 4 months ago

I am using the React Native version and encountered the same problem.

Undefined symbols for architecture arm64 ┌─ Symbol: dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol] └─ Referenced from: ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[arm64][176](WalletViewController.o)

add this to your Podfile.

pod 'JXSegmentedView', '1.3.1'