facebookarchive / pop

An extensible iOS and OS X animation library, useful for physics-based interactions.
Other
19.66k stars 2.88k forks source link

How can I get the pop.framework quickly on iOS platform? #323

Closed dustturtle closed 8 years ago

dustturtle commented 8 years ago

I've used pop via cocoapods easily. Now I am wondering how to use this without pods. Anyone can help? Thanks

dustturtle commented 8 years ago

dyld: Library not loaded: @rpath/pop.framework/pop Referenced from: /var/containers/Bundle/Application/327F32FF-87C2-4049-B304-0F070BD8E399/testStretch.app/testStretch Reason: image not found

dustturtle commented 8 years ago

solved.

dustturtle commented 8 years ago

embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/pop.framework/pop) for architecture arm64 ??? how to work on iOS7 via framework? or impossible?

grp commented 8 years ago

Pop is no different from any other library in this respect, so I'd point you to the Apple developer documentation on where dynamic frameworks are supported. Note that CocoaPods is recommended for Pop since it simplifies the installation process significantly.

dustturtle commented 8 years ago

I know the dynamic framework can not be used before iOS8. There still have a type of "fake framework" was used before iOS8. But pop have the problem of header files always tell us like this 'pop/POP.h' file not found If you use the .a or just add the pop folder in your project, the problem is always there. Some people changed lots of .h files to make the project work. But I still believe that facebook should give us an elegant solution.

dustturtle commented 8 years ago

@grp I don't think this problem doesn't make sense. Many developers faced the same problem like me. Manual integration is suck for pop.

grp commented 8 years ago

It's hard to make an Xcode project that automatically configures a static library, hence CocoaPods to solve that automatically. You can of course always configure the header search paths manually to use Pop as a static library without it, but it's nontrivial enough that it's hard to claim support for that.

dustturtle commented 8 years ago

The main problems are the header files. Look the macro below:

if __has_include(<TestHead/TestHead.h>)

import <TestHead/TestHead.h>

else

import "TestHead.h"

endif

Maybe this will be helpful. Thanks.

dustturtle commented 8 years ago
#if __has_include(<TestHead/TestHead.h>)
#import <TestHead/TestHead.h>
#else
#import "TestHead.h"
#endif 
dustturtle commented 8 years ago

@grp

jungchris commented 5 years ago

3 years later someone that doesn't use CocoaPods was experiencing the same issue. If I find a work-around I'll post another message here.