Duplicate symbols in IBM MobileFirst Platform Foundation (MFP) and Bluemix IMFCore SDK's

梦想与她 提交于 2019-12-13 19:04:35

问题


We have some issues when trying to use both the mobilefirst platform SDK and the IBM Bluemix notification SDK in the MyUnicity iOS project. There are a number of duplicate symbols between the MFP and the IMFCore libraries and the build of our project fails in the linking phase (see the examples below: in total we get "121 duplicate symbols for architecture arm64"). The Bluemix Push notification on iOS requires IMFCore and IMFPush features:

duplicate symbol _OBJC_IVAR_$_WLAFQueryStringPair._field in: ... duplicate symbol _WLAFQueryStringPairsFromDictionary in: ... duplicate symbol _OBJC_CLASS_$_WLDeviceAuthManager in: ... ... ld: 121 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

We have seen a similar happening with the mobile first platform SDK and the IBM Localization SDK (see this: https://developer.ibm.com/answers/questions/176115/ibmlocation-ios-sdk-worklight-api-duplicate-symbol.html). In that case the answer was to use the Push notification from the mobile first platform, but in our case this is not possible since the push notification service is used by MACM, which sits outside the mobilefirst platform.

There are some general recommendations that could solve this problem, but these solutions seem more like hacks or involve steps that may be difficult to replicate on other development environment:

1) manualy removing of symbols from the static library

2) playing with namespacing dependencies (involves having access to the libraries in question)

3) usage of other linking options

There is also an alternate solution: use xtify for push notifications in MACM instead of bluemix push notification (MACM supports Bluemix Push or Xtify as push notification solutions).

What would be the best course of action here?

Thanks


回答1:


I would think that the best option is the one the fits most your project demands, time frames and technical complexity at achieving it.




回答2:


The development team has been working on a Swift SDK for Bluemix Mobile Services which should allow the integration to MFPF without the duplicate symbol errors.

The SDK and samples are still in development, but you can start experimenting with the Bluemix Push Notification sample we are currently developing which uses the new Swift SDK. Please take a look at the development branch of the bms-samples-swift-hellopush repository.

I was able to integrate the MFPF SDK into this sample without the duplicate symbol errors you were referencing. Please note that the SDKs are in a pre-release stage so this is still experimental. I can keep you updated when the SDKs are released.



来源:https://stackoverflow.com/questions/35862821/duplicate-symbols-in-ibm-mobilefirst-platform-foundation-mfp-and-bluemix-imfco

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!