【问题标题】:Can't compile Aviary on iOS since SDK 4.4自 SDK 4.4 起无法在 iOS 上编译 Aviary
【发布时间】:2014-12-16 12:47:44
【问题描述】:

自从我更新到 Aviary SDK 4.4 后,我无法仅在 iOS 模拟器上运行我的应用程序。 我可以在我的 iPhone 和 iPad 上运行该应用程序。

clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 30 duplicate symbols for architecture x86_64

框架和包在“Link binaries with Libraries”和“Bundle ressources”中可见。

框架搜索路径在构建设置中是可以的。

看起来 Aviary 框架被管理了两次?

我离开/重新启动 Xcode,在 iOS 模拟器中清理应用程序,清理目标并销毁 DerivedData,但没有成功。

很奇怪我在真机上没有问题。

【问题讨论】:

  • Aviary 已被 Adob​​e 收购并搬入 Adobe's SDK。话虽如此,我仍然无法通过关注their instructions 成功安装和编译相当于 Aviary 的 Adob​​e SDK。
  • 好的。今天早上我收到了来自 Aviary 的电子邮件更新。这就是我从 Aviary 网站而不是 Creative SDK 网站安装最新版本的原因。我也要考。
  • 刚收到 Adob​​e Support 的电子邮件,他们说他们刚刚解决了 SDK 的问题,并要求我重新下载。想让您知道,以防您昨天下载它,今天重新下载。
  • 我在将使用 AviarySDK 的应用程序迁移到 Adob​​e Creative SDK 时也遇到了问题。它似乎正在尝试查找 AviarySDKResource。
  • 今天对我来说仍然是坏的。您是否使用新版本进行了此操作?有直接链接吗?

标签: ios objective-c compiler-errors aviary


【解决方案1】:

我解决了这个问题。方法如下:

解决方案

不要使用#import <AviarySDK/AviarySDK.h>,而是直接导入您正在使用的类。喜欢:#import <AviarySDK/AVYPhotoEditorController.h> 等。

原因

我相信的原因在于新引入的AVYPhotoEditorCompatibility.h,它默认包含在<AviarySDK/AviarySDK.h> 中。

我认为这是使用 typedefconst 的有问题的代码

typedef AVYPhotoEditorPremiumAddOn AFPhotoEditorPremiumAddOn AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnNone = AVYPhotoEditorPremiumAddOnNone;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnHiRes = AVYPhotoEditorPremiumAddOnHiRes;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnWhiteLabel = AVYPhotoEditorPremiumAddOnWhiteLabel;

【讨论】:

  • 谢谢!这个修复对我来说效果很好。另外值得注意的是,用于 Aviary 4.4.0 的 Cocoapod 已更新。
  • 我在与 Adob​​e 支持人员的对话中收到了近 10 封电子邮件,但他们无法弄清楚这封电子邮件。谢谢托尼!
猜你喜欢
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
相关资源
最近更新 更多