Comments (4)
I would say it's not recommended to embed other frameworks/libraries. You can cause issues and it bloats your framework. Look at what Apple does, when you need a library/framework you add it.
When you publish a framework, just include what it depends on (i.e. CoreLocation.framework, CoreGraphics.framework, etc). If open source, you might need to state a specific version that your framework works with.
I've had tons of headaches from 3rd party libraries/frameworks that had an embedded source code dependency (AWS did this with their iOS SDK).
NOTE If you do include 3rd party source in your build. (i.e. Facebook SDK, open source code, etc) You need to make sure you rename all the code files (i.e. SourceFile.h > PSSourceFile.h, etc). Otherwise people will not be able to integrate your .framework if they already have the Facebook SDK/source in their project. They'll get duplicate symbols, and their only solution is to either: not use your framework or rename their files to prevent duplicate symbols.
from ios-framework.
I talked about this recently on StackOverflow:
http://stackoverflow.com/questions/11512291/prefix-static-library-ios/19341366#19341366
Short answer: don't do it.
Slightly-less-short answer: if you really need to*, make 100% sure that all of the third-party symbols have been prefixed or you risk introducing linker errors (duplicate symbols) to any project that uses your framework and a separately-linked version of the third-party library.
- One of the only cases I've really needed to thus far is when releasing an SDK framework that was built with a specific version of a third-party library. In this case it's preferential to fold that library into your framework to avoid any problems down the road when the third-party library inevitably changes.
from ios-framework.
Thanks! This clears it up for me.
from ios-framework.
Wicked, glad to hear :)
from ios-framework.
Related Issues (20)
- Serenity.framework/Serenity (No such file or directory) HOT 2
- nested .bundle's possible? HOT 3
- Can I rename the framework or I need to create new project and target? HOT 2
- Unable to embed a static library in the Framework target HOT 1
- .a is not being created during build HOT 1
- Issue post start up.
- There are xcdatamodel files in frameworks, how can I package the mom files into resource bundle? HOT 1
- Using [NSBundle bundleForClass] gives bad path HOT 1
- Framework is not building for all architecture in Xcode 6.1 HOT 2
- Can I use cocoapods in my framework? HOT 4
- Missing cache file warnings for the framework built in Xcode 7 HOT 2
- Xcode 7 does not have armv7s in $(ARCHS_STANDARD) HOT 1
- XCode 7.1 Archive upload failure
- Error when creating Universal Build HOT 1
- Error when creating Universal Build HOT 1
- Header Files Visiblity
- Show dog breed and dog name in Admin.
- Module compiled with Swift 5.1.2 cannot be imported by the Swift 5.3 Compiler
- Update README to include instructions on how to create a 'pure build' without third party libraries HOT 2
- Will it generate dSYM file?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ios-framework.