user2224444
user2224444

Reputation:

Third party ObjC Framework dependent by the dynamic Cocoa frameworks inside a Swift App

I need to use Ubertesters framework inside a Swift based application. Ubertester framework is also dependent of few Cocoa frameworks. Normaly in ObjC environment you have to add some frameworks to the Link Binaries but not anymore in Swift. However it seams that Cocoa frameworks dependency needed by Ubertester SDK are not dynamic loaded when I use Ubertester SDK in to Swift.

Here is what I have done:

  1. I added Ubertester framework to workspace
  2. I created the umbrela header and have #import the UbertesterSDK (I can see fine the Ubertester classes into Swift code).
  3. I did NOT add Cocoa dependent framework asked by Ubertester to the Link Binaries.

Trying to run it on device or simulator failed:

    ld: warning: relocatable dylibs (e.g. embedded frameworks) 

     are only supported on iOS 8.0 and later (@rpath/libswift_stdlib_core.dylib)

     Undefined symbols for architecture i386:

  "_AudioServicesPlaySystemSound", referenced from:

      -[Ubertesters playSystemSound:] in UbertestersSDK

  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:

      objc-class-ref in UbertestersSDK ...

Any idea how to debug this error ?

Thank you

Upvotes: 1

Views: 483

Answers (1)

jacksonT
jacksonT

Reputation: 23

Looks like you are running something older than iOS 8 on an emulator and that combination of architecture and OS is not supported by your library.

Try changing the deployment target on your project's target to iOS 8 and see if that launches. In the meantime I'd check to see if you have the latest version of the SDK.

Upvotes: 1

Related Questions