ios - 为 iOS 模拟器创建一个 dylib

标签 ios objective-c xcode ios-simulator dylib

我有一个 ObjectiveC 项目项目,我已经设法使用 Ray Wenderlich 在这里的优秀文章创建了一个通用静态库:

https://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial

它允许您在 Xcode 中完成所有操作。我还想使用同一个项目为 iOS 模拟器创建一个 dylib。

我遇到了这个链接,用于从通用静态库中提取一个切片,并创建一个 dylib:

https://pewpewthespells.com/blog/convert_static_to_dynamic.html

除了它没有指定为模拟器创建 dylib 的选项(默认为 OSX),而且我很难找到针对 iOS 模拟器的正确选项。

我假设如果我确实有正确的选择,我可以将其添加到脚本的末尾(来自 Ray 的文章)。关于我可以做什么的任何线索?

最佳答案

我自己(最终)设法解决了这个问题 :-) 诀窍是:

使用 File|New|Target 在 Xcode 中添加另一个目标,然后从 OSX/Framework & Library 项中选择 Library。

在新目标的build设置中:

在 Architectures 部分,因为这个 dylib 只用于 i386 模拟器,所以我在 Architectures 项中添加了 i386,并删除了其他的,并对 Valid Architectures 做了同样的事情

我将Base SDK设置为iOS9.3

我将支持的平台更改为 iOS

因为我不想在 Mac 上安装 dylib,所以在部署部分我将 Skip Install 设置为 Yes

为了安装名称没有特定路径,在链接部分,我将动态库安装名称基础更改为@rpath

我也不希望 Xcode 为 dylib 添加前缀,所以在打包部分我删除了可执行前缀值

我可能有一些超出预期的设置,但结果是我想要的。

关于ios - 为 iOS 模拟器创建一个 dylib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013190/

相关文章:

iOS 通用链接 App Store 重定向

ios - NSTimer在同一线程上两次调用选择器方法?

iphone - 合成属性是否已经 alloc/init -ed?

ios - 如何将 UITextField 中的值与 CoreData 值进行比较

xcode - Xcode 注释中的超链接

ios - 导航栏标题更改

objective-c - Mac应用程序: 'Auto Loading' the last used Document

ios - 核心数据: Select entities matching certain criteria

iphone - 在提高性能的获取请求模板下发生了什么?

iphone - 如何延迟 xcode 中的事件?