iOS HERE SDK NMAKit私有API的使用

3

我刚将我的应用程序更新到最新的3.13.2 HERE SDK版本,但一旦我上传一个构建到App Store,就会收到以下警告:

The app references non-public symbols in Frameworks/NMAKit.framework/NMAKit: _getcontext, _makecontext, _setcontext

实际上我还没有尝试在App审查中提交一个带有这个警告的版本,但是这个警告并不好,即使它通过了审查,也可能会显著增加我的应用程序的审查时间。我的应用程序依赖于HERE SDK来提供导航功能,因此我不能完全删除它。目前,我已经回滚到以前的版本,在上传的构建中不再出现这个警告。


抱歉,您在问什么问题?如果您想知道这个问题是否会影响您的应用审核或者苹果是否会批准它,最好的方法是尝试联系他们并询问他们的回复。 - Alan S
@AlanS 他间接地询问为什么HERE SDK(3.13.2)突然引用了非公共符号。这更像是向开发人员通知,说明此最新版本无法用于App Store提交。我在提交时遇到了同样的问题,导致我的提交被拒绝。 - rdadkins
感谢您指出这个问题,我们已向开发人员报告了该错误。这是 IOS Starter SDK 还是 Premium IOS SDK? - user3505695
是的,我在网上找不到任何关于这个问题的参考资料,所以我决定将其作为公共SO问题(这似乎也是从HERE支持页面提出问题的唯一方式)。而且我正在使用高级iOS SDK。 - Davis Allie
请留意,您也可以在Github上提交工单。 - dashchak
2个回答

1
在3.13.2版本的HERE SDK中,openssl库已升级为1.1.1c版本,导致出现此类错误。为了解决这个问题,需要更改openssl配置,计划在下一个HERE SDK(3.14)版本中实现。由于这只是警告,您仍然可以尝试提交您的应用程序。感谢您的报告!更新:警告已在现有的3.13.3版本中得到修复。

1
我尝试上传更新的v3.13 HERE Maps版本的项目,但我的构建因相同错误被拒绝并删除。因此,这不仅是一个警告,而是导致构建被拒绝。您能告诉我们何时可以期望SDK更新吗? - mkz
建议的修复已经完成。 计划在3.14版本中的3个月后发布。 但是,如果它不仅仅是一个警告,我想我们将在3.13.3中的一个月内发布。问题是我无法重现此问题。您可以列出在您的应用程序中使用的可能会引起此类错误的NMA类或API吗? 例如,当我使用NMANavigationManager的navigationState时,我会收到类似私有API使用(_navigationState)的警告。 这很奇怪。 即使它是公共的,我们只在NMANavigationManager私有类别中使用readwrite。 - dashchak
同意在3.13.3中提供修复,并在下周末发布。 - dashchak
@dashchak 谢谢您的回复。是否有任何绕过方式可以提交应用程序到TestFlight,还是我必须等到下周? - Leena
由于另一个紧急修复,3.13.3版本的发布日期已经推迟。我们预计它将在星期一出现在开发者门户网站以及CocoaPods上。对此给您带来的不便,我们深表歉意。据我所知,目前没有任何解决方法。对于我来说,只有在使用CocoaPods时才会出现问题。当我手动嵌入NMAKit时,就不会产生警告。 - dashchak
显示剩余5条评论

0

我也遇到了与您相同的问题,版本是v3.13.2。目前我的解决方法是使用旧版本:3.12.2,它可以正常工作。因此,在pod文件中添加以下内容:

pod 'HEREMaps', '3.12.2'

希望能对你有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接