gpt4 book ai didi

iphone - 静态 (iPhone) 库、分发和依赖项

转载 作者:行者123 更新时间:2023-12-03 18:36:49 24 4
gpt4 key购买 nike

(除了我们可能会使用框架或动态库的事实之外,大概以下问题不是 iPhone 特有的。)

我正在为客户构建专有的 iPhone SDK,以与其 Web 后端集成。由于我们不想将源代码分发给客户,因此我们需要将 SDK 作为静态库分发。这一切都工作正常,并且我已经验证我可以将新的 iPhone 应用程序链接到该库并将它们安装在设备上。

我关心的是我们的 SDK 所依赖的第三方库。例如,我们当前正在使用 HTTPRiot 和 Three20(确切的库可能会改变,但这不是重点)。我担心如果客户也在他们的应用程序中使用任何这些库(甚至可能是不同的版本),这可能会导致冲突。

这方面的最佳实践是什么?是否有某种方法可以从我们自己的静态库中排除依赖库的符号(在这种情况下,客户必须手动链接到我们的 SDK 以及 HTTPRiot 和 Three20)?或者还有其他的既定机制吗?

我试图在易用性和灵 active /兼容性之间取得平衡。理想情况下,客户只需将我们自己的 SDK 放入他们的项目中,并进行最少数量的build设置更改,但如果它使事情变得更加健壮,那么让客户单独链接多个库可能更有意义。或者我想我们可以分发多个版本的 SDK,无论有没有第三方依赖项,都可以涵盖这两种情况。

我希望我的问题有意义...主要来自 Ruby 和 Java 背景,我已经很长时间没有处理编译库(传统意义上的)了...;)

最佳答案

如果是我,我会准确指定我的库与哪些第三方库进行互操作。然后我会对它们进行测试,记录它们,并可能与发行版中包含的那些特定版本一起交付。

我担心的两件事:
-当我的客户安装它时,我想确保它“正常工作”。
-我不想保证对这些第三方库的任意 future 版本的支持。

可以为客户提供一个迁移到新版本的流程,但如果有任何问题不起作用,那么我希望客户为该开发工作付费作为增强功能,而不是免费的错误修复(除非您将其包含在原始许可/支持安排中)。

此时,确保您的特定版本的第 3 方库能够与客户需要的任何其他内容(在您的情况下是 Web 后端)一起愉快地工作就成为一个问题。根据我的经验,这通常是图书馆的功能,例如有些没有设计成多个版本可以并行运行。

关于iphone - 静态 (iPhone) 库、分发和依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1878136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com