ios - npm 发布模块包括 iOS 框架。当 npm 安装该模块时,iOS 框架已损坏

标签 ios frameworks npm ios-frameworks

这是最奇怪的问题,并且只发生在 npm 模块中的一个 iOS 框架上(我注意到)。

当点击框架时(在 npm 发布之前)我看到:

frameworkname.framework
|
- Headers (dir)
- frameworkname
- Versions (dir)
    |
    -A (dir)
    -Current (dir)

我将此模块发布到私有(private) npm 服务器。当我安装 npm 模块时,框架已损坏。我明白了:

frameworkname.framework
|
- Headers (dir) MISSING
- frameworkname MISSING
- Versions (dir)
    |
    -A (dir)
    -Current (dir) MISSING

看完http://www.raywenderlich.com/65964/create-a-framework-for-ios看起来丢失的文件是符号链接(symbolic link)。有没有其他人见过这种行为?如何防止符号链接(symbolic link)在 npm 过程中丢失?

最佳答案

丢失的文件是符号链接(symbolic link),不幸的是,npm 不支持符号链接(symbolic link)。作为一种解决方法,您可以将链接替换为它们的目标(并删除目标以防止重复)。

例如对于具有以下结构的框架 FFF:

./FFF -> Versions/Current/FFF
./Headers -> Versions/Current/Headers
./Versions
./Versions/A
./Versions/A/FFF
./Versions/A/Headers
./Versions/Current -> A

您可以从框架目录中运行以下命令(在 bash 中):

framework=FFF && rm $framework Headers && mv Versions/A/{$framework,Headers} . && rm -rf Versions

将结构更改为:

./FFF
./Headers

关于ios - npm 发布模块包括 iOS 框架。当 npm 安装该模块时,iOS 框架已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377635/

相关文章:

ios - Swift 5 CAKeyframeAnimation - 应用程序移至后台后恢复图层动画

SQLite - 按字母数字排序同时忽略特殊字符和 "The"

c# - 寻找 Silverlight/.NET 的技术和/或框架的良好总结

ios - 如何从 libWebRTC.a 静态库中删除 x86_64 架构,同时在 iOS 中从该静态库构建 fat 库?

node.js - 无论有足够的可用空间,npm 都不会安装任何软件包

node.js - 使用docker时无法从 Node 应用退出

ios - 在我的 iOS 应用程序的背景/其他屏幕上继续下载

ios - 框架未找到 EXLocation,生成存档时 OpenSSL react 原生 ios xcode

node.js - "Your npm version is outdated."但事实并非如此。安装时哟

ios - 无法将“ForumViewController”类型的返回表达式转换为“UITableViewCell”类型