IBM MobileFirst Platform Foundation(MFP)和Bluemix IMFCore SDK中的符号重复 [英] Duplicate symbols in IBM MobileFirst Platform Foundation (MFP) and Bluemix IMFCore SDK's

查看:77
本文介绍了IBM MobileFirst Platform Foundation(MFP)和Bluemix IMFCore SDK中的符号重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MyUnicity iOS项目中尝试同时使用mobilefirst平台SDK和IBM Bluemix通知SDK时,我们遇到一些问题.MFP和IMFCore库之间存在许多重复符号,并且我们的项目构建在链接阶段失败(请参见下面的示例:总共获得体系结构arm64的121个重复符号").iOS上的Bluemix Push通知需要IMFCore和IMFPush功能:

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:

重复符号_OBJC_IVAR _ $ _ WLAFQueryStringPair._field在...中重复符号_WLAFQueryStringPairsFromDictionary位于:......中的重复符号_OBJC_CLASS _ $ _ WLDeviceAuthManager...ld:用于体系结构arm64的121个重复符号clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我们已经看到移动优先平台SDK和IBM Localization SDK发生了类似的情况(请参见:

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)手动从静态库中删除符号

1) manualy removing of symbols from the static library

2)使用命名空间依赖项(涉及有权访问所讨论的库)

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

3)其他链接选项的使用

3) usage of other linking options

还有另一种解决方案:在MACM中将xtify用于推送通知,而不是bluemix推送通知(MACM支持Bluemix Push或Xtify作为推送通知解决方案).

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?

谢谢

推荐答案

开发团队一直在开发用于Bluemix Mobile Services的Swift SDK,该SDK应该允许集成到MFPF而不会出现重复的符号错误.

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.

SDK和示例仍在开发中,但是您可以开始尝试使用我们当前正在开发的Bluemix Push Notification示例,该示例使用新的Swift SDK.请查看 bms的开发分支-samples-swift-hellopush 存储库.

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.

我能够将MFPF SDK集成到此示例中,而不会出现您引用的重复符号错误.请注意,SDK处于预发布阶段,因此仍处于试验阶段.SDK发行后,我可以为您提供最新信息.

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.

这篇关于IBM MobileFirst Platform Foundation(MFP)和Bluemix IMFCore SDK中的符号重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆