Reputation: 944
This is the strangest issue and only happens on one iOS framework in particular (that i noticed) within an npm module.
when clicking on the framework (before npm publish) I see:
frameworkname.framework
|
- Headers (dir)
- frameworkname
- Versions (dir)
|
-A (dir)
-Current (dir)
I published this module to a private npm server. When I install the npm module the framework is corrupt. I see:
frameworkname.framework
|
- Headers (dir) MISSING
- frameworkname MISSING
- Versions (dir)
|
-A (dir)
-Current (dir) MISSING
After reading http://www.raywenderlich.com/65964/create-a-framework-for-ios it looks like the missing files are symlinks. Has anyone else seen this behavior before? How do I keep the symlinks from being lost during the npm process?
Upvotes: 7
Views: 306
Reputation: 4566
The missing files are symbolic links, and unfortunately, npm doesn't support symbolic links. As a workaround, you can replace the links with their targets (and remove the targets to prevent duplication).
E.g. for a framework FFF with the structure:
./FFF -> Versions/Current/FFF
./Headers -> Versions/Current/Headers
./Versions
./Versions/A
./Versions/A/FFF
./Versions/A/Headers
./Versions/Current -> A
you can run the following (in bash) from inside the framework directory:
framework=FFF && rm $framework Headers && mv Versions/A/{$framework,Headers} . && rm -rf Versions
to change the structure to:
./FFF
./Headers
Upvotes: 1