问题标签 [lipo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS 胖二进制文件:每个拱门都应该包含位码吗?
在构建要在支持位码的应用程序中使用的库时,胖二进制文件中的每个拱门都需要构建-fembed-bitcode
还是只需要构建其中一个?
其中之一是因为位码是独立于架构的并且只会被复制?
所有这些都是因为预处理器命令可能会根据体系结构(例如 NSInteger 宽度)更改代码?
否则会排除 x86 切片duplicate symbol _llvm.cmdline
吗?-rdar ://21884601
ios - 具有 iphoneos 和 iphonesimulator 架构的 iOS 通用框架
xcodebuild
可以使用 sdk 设置为一个iphoneos
或iphonesimulator
两个设置一个项目,所以为了生成一个包含armv7 arm64
和i386 x86_64
架构的框架,我必须运行xcodebuild
两次,然后使用lipo
将所有架构组合成 1 个通用二进制文件。我看到这样做的商业框架,但它会导致info.plist
文件不正确,因为它有一个字段,CFBundleSupportedPlatforms
并且所有标志都指向它只包含 1 个值,例如CFBundleSupportedPlatforms = ( "iPhoneSimulator" )
.
似乎lipo
不应该以这种方式使用,因为它不受xcodebuld
. 有没有更好的方法来构建一个包含所有架构的框架?
ios - lipo 在 iOS SDK 9 中的位置
lipo
使用 iOS SDK 8,我可以使用以下代码找到util:
并像这样运行(Boost 库示例):
现在lipo
那个位置没有。如何获取位置?
更新#1
与ar
. 看起来它们已从 iOS SDK 中删除,并且仅在/opt/local/bin
.
ios - 无法在 iOS 项目中使用正在另一个具有相同设置的项目中工作的库
我被一个荒谬的基本简单问题困扰了好几天,这让我发疯了!
这是故事:
- 我有一个第三方库,当我使用它时,它会阻止我的项目构建。
- 我有另一个示例项目,该库已在其中使用并且正在成功构建。
"Project Build Settings"
我已经检查了所有(字面意思是所有)和"Target Build Settings"
Xcode 中的构建设置,一切看起来都一样。- 这是两个项目的构建设置的屏幕截图:
- 这是链接器错误的屏幕截图:
我已经搜索并查看了所有
lipo:can't open input file
错误问题和ld: symbol(s) not found for architecture armv7
错误问题,但似乎没有一个答案对我有用。请不要只参考谷歌搜索结果。我尝试过清理项目、删除和重新添加文件到目标、同步两个项目上的链接框架、删除派生数据、更改
build active architecture only setting
以及其他问题上建议的许多其他事情。由于相同的库文件在相同的设备和 Xcode 和 SDK 上编译和链接成功,请不要提出“请求供应商提供与 arm64 等兼容的更新版本的库”之类的建议。
我在 OS X El Capitan 上运行 Xcode 7.1,如果需要仔细查看项目,我什至可以提供 TeamViewer Access。
任何帮助都非常感谢,我真的很坚持这一点。
先感谢您。
ios - 带条的领域框架错误:剥离框架致命错误:lipo:-remove 的指定将导致一个空的胖文件
自从我更新了 Realm.framework 后,我遇到了一个丑陋的错误。错误是:
剥离框架致命错误:lipo: -remove's specified 将导致一个空的 fat 文件
如果我在相应的运行脚本的构建阶段选择“仅在安装时运行脚本”框,它将编译以进行测试。但是,当我尝试存档时它不会。
有人对此有想法吗?谢谢,
xcode - 如何使 Xcode Run Script x86_64 兼容
你好你好社区!
所以这是我的问题,这不是一个真正的问题,但下面的运行脚本编译了我的静态库,它工作得很好!我唯一的问题是它没有为模拟器编译它,我得到一个 x86_64 错误。我知道我可以编辑此代码以使其兼容有人可以告诉我我需要做什么吗?
ios - xcode7:文件是为 x86_64 构建的,它不是被链接的体系结构 (i386)
有两个名为“Release-iphoneos”和“Release-iphonesimulator”的floder,我使用这些命令创建通用框架,但仍然有一些错误“文件是为x86_64构建的,它不是被链接的架构(i386)”
lipo -create "Release-iphoneos/Fxencrypt.framework/Fxencrypt" "Release-iphonesimulator/Fxencrypt.framework/Fxencrypt" -输出 "Fxencrypt"
cp -R Release-iphoneos/Fxencrypt.framework ./Fxencrypt.framwork
mv Fxencrypt ./Fxencrypt.framwork/Fxencrypt
脂肪信息是这些
lipo -info Release-iphoneos/Fxencrypt.framework/Fxencrypt fat文件中的架构:Release-iphoneos/Fxencrypt.framework/Fxencrypt是:armv7 arm64
lipo -info Release-iphonesimulator/Fxencrypt.framework/Fxencrypt fat 文件中的架构:Release-iphonesimulator/Fxencrypt.framework/Fxencrypt 为:i386 x86_64
lipo -info Fxencrypt.framework/Fxencrypt fat 文件中的架构:Fxencrypt.framework/Fxencrypt 为:armv7 i386 x86_64 arm64
xcode - XCode 通用库构建阶段 - Lipo 找不到文件
我已经阅读了一些关于如何让 XCode 创建通用库的教程和指南。基本上,您添加一个带有 bash 脚本构建阶段的聚合目标来构建单独的目标并将它们组合在一起。
我有自己的小脚本(由于我如何命名目标而起作用),但由于某种原因 lipo 找不到文件;
致命错误:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo:无法打开输入文件:/Users/username/Projects/project/plugins/build/Release-iphoneos/ libproject-plugins.a /Users/username/Projects/project/plugins/build/Release-macos/libproject-plugins.a (没有这样的文件或目录)
然而当我
- 在构建失败后立即运行完全相同的 lipo 命令,一切正常并找到文件。
- 在我的脚本中添加 bash 逻辑以等待文件创建问题仍然存在。
- 用一个简单的替换
lipo
我的脚本中ls
的文件,文件就在那里。
所以我不确定出了什么问题,它似乎不像xcodebuild
只在调用 lipo 之后创建文件(正如我首先想到的那样)。
剧本;
ios - Apple 是否推荐使用“lipo”命令?
当我们开发一个动态框架并将其分发以供重用时。我们将模拟器(i386 和 x86_64)和设备(arm7、arm7s 和 arm64)架构合二为一。这样开发人员就可以轻松地在模拟器和设备上运行应用程序而不会出现任何错误。
如果我们尝试提交通用框架,AppStore 会拒绝它。为了修复这个错误,我们使用 lipo 命令删除模拟器架构。
我的问题是苹果推荐使用“lipo”命令吗?