微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在我的应用中找到“私有 API”的来源以通过 Apple 审核

如何解决如何在我的应用中找到“私有 API”的来源以通过 Apple 审核

Apple Review 发现了很多私有 API 可供我的应用使用。 我正在使用应用程序中内置的 ImageMagic,这是问题的根源。 例如,直接包含在我的项目中的文件 jpeg.c 使用的方法jpeg_set_quality。我正在链接 libjpeg(由 brew 安装),我认为应该使用它而不是私有 API。

包括这样的库:

OTHER_LDFLAGS = -llqr-1 -llcms2 -ltiff -lfreetype -ljpeg -lglib-2.0 -lpng16 -lfontconfig -lfreetype -lheif -lwebpmux -lwebpdemux -lwebp -llzma -lopenjp2 -lxml2 -lm -lopenexr -lIex

如果我删除 -ljpeg,那么编译器会抱怨该方法丢失。

 "_jpeg_set_quality",referenced from:
      _WriteJPEGImage_ in jpeg.o

所以这应该证明我使用的是链接版本而不是私有 API,对吗?

我好奇的问题是:

  1. 如何找到被调用方法链接到的库?例如。我包含的库还是 Apple 的私有库?
  2. 如果两个库中的函数名称相同,会发生什么情况。应用如何决定调用一个
  3. 动态库 .dylib 会不会是问题的根源?我更愿意与静态 .a链接吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。