菜鸟教程小白 发表于 2022-12-12 21:40:22

ios - 如何管理我正在制作的框架和主应用程序之间的依赖关系冲突?


                                            <p><p>我正在制作一个将公开的框架(SDK)。我正在考虑一种情况,它<strong>不是</strong>通过 Cocoapods/Carthage 分发,而是通过一个简单的下载页面分发。</p>

<p>在 SDK 中,我需要为用户提供通过 Facebook 登录和分享的机会,因此我想使用适当的 Facebook SDK(我假设为 FBSDKLoginKit/ShareKit)。但是如果我的 SDK 的最终用户也有这些 Facebook SDK(或任何其他重复的依赖项),就会发生冲突。
在不使用 Cocoapods/Carthage 的情况下处理这种情况的正确方法是什么?我相信,一种方法是避免将依赖项包含/静态链接到我的框架中,而是让最终用户单独下载依赖项,但也许还有另一种解决方法?让人们从不同的来源下载大量的库并不是很方便。</p>

<p>问题不在于 Facebook SDK,而在于开发框架/库时存在第三方依赖项的一般情况。</p>

<p>附:我发现了这个问题:<a href="https://stackoverflow.com/questions/16762553/integrate-facebook-sdk-inside-my-ios-framework" rel="noreferrer noopener nofollow">Integrate Facebook SDK inside my iOS Framework</a> .但它专门针对 Facebook,可能已经过时(自 2014 年以来,iOS 世界发生了很多事情)。</p>

<p><strong>更新:</strong>SDK 将闭源。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你可以结合你建议的两个想法:</p>

<p>不要将其他 SDK 直接包含在您的框架中,而是在用户下载时将它们放在同一个项目中。这样,如果用户还没有它们,他们可以复制他们需要的所有框架。如果用户已经拥有它们,那么他们可以自己复制您的 SDK 并让它在他们的项目中正常工作。</p>

<p>此组合还允许您在下载中包含测试和示例。然后,用户最终下载了一个完整的、正常运行的项目,他们可以在将其与自己的代码集成之前进行试用。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何管理我正在制作的框架和主应用程序之间的依赖关系冲突?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38762027/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38762027/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何管理我正在制作的框架和主应用程序之间的依赖关系冲突?