Code Monkey home page Code Monkey logo

Comments (4)

PaulSolt avatar PaulSolt commented on July 2, 2024

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.

jverkoey avatar jverkoey commented on July 2, 2024

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.

program247365 avatar program247365 commented on July 2, 2024

Thanks! This clears it up for me.

from ios-framework.

jverkoey avatar jverkoey commented on July 2, 2024

Wicked, glad to hear :)

from ios-framework.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.