Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I created a library kit! with common tools.
I created a library box! with cool features that uses kit!.
Now I want to create a client app that uses box!.
Do I have to link both libraries?
Or will box! link kit!?
Hope the question makes sense. I use a workflow, where I include the library projects as well (to be able to edit libraries as well trough the development process), add them as target dependencies, import headers right from the project source directory.
For static libraries, it's generally best to link kit and box to the client app -- directly.
If kit were a private dependency of box (i.e. private sub-library), then it makes sense to link kit with box so that clients don't have to manage private dependencies. You can also do that where you know there will always be a to-one dependency. So yes, you can add kit as a dependency to box and link kit to box. Then the client app can just link to box.
What you want to avoid with to-many dependencies is huge recursive builds, huge object files, symbol cloning/duplication, and not knowing which definitions you will end up with. Although they won't eliminate that problem, they will reduce it.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm considering a way to make an easy extensible iOS app. Let me explain, a client want's an app which is easy extensible with modules, so we can make separate modules and add them as wished to a base app. It have to be a possibility to make de modules in a new Xcode Project (it may be that inheritance of an interface is necessary). So in the end, de modules have to be added tot the Xcode Project of the base app and the new added module (UIView) is automatically added to the tab bar menu (or any other menu structure).
I'm not asking for code snippets but just your opinion of how to solve this problem or what the best way is to do it.
It sounds like you need to develop a framework. Find the pieces of the app that you want to be shared among other apps. Make that into its own, standalone entity.
On my projects, I have similar apps with different UI's. So the core of how data is retrieved and manipulated is all the same code. What differs is the UI.
That's the approach I would take.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Lots of iOS development tutorials are full of "just copy this and your button will work" or "this code does this, just copy it and change some variables". I'm trying to learn everything from scratch so it makes the best possible sense. Turns out I can't find any information about Xcode compiling and linking process. And also, I would like to understand how the macros like IBAction are translated exactly. I've found something here, but it does not explain entirely. I want to see the code when its fully assembled with its headers and so...
Is there a way to program for Xcode just with code? I mean, to insert and link all objects with code, no visual processes used.
Does anyone know a good book about this?
Here are some answers to your questions!
Anything that you can do in InterfaceBuilder you can do in code, yep. Configuring view objects is a bit repetitive and ends up being a lot of code for something easy (once you know what options you have) which is why the IB tool is there.
The IBAction flag is actually only used by the IDE to provide assistance in generating the xib so when the file is unarchived, the properties it sets will line up. It's not foolproof as you can make a property, set the outlet, then delete the property and your app will crash!
You can see the output of pre-processor macros by selecting Product -> Perform Action -> Compile/Analyze/Preprocess/Assemble. These are all handy tools to see what Xcode is building under the hood.
Compiling and linking is not too important for iOS development since Xcode is the only tool you use to build your application (with the exception of xcodebuild command) and it handles that all for you. If you do want to dig in deeper, I don't know of a good reference but googling LLVM (the toolset to compile/debug/link/etc) would be a good starting place.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I hope to convert an app to lib(.a) file for other projects.
The app(lib) has self's ui, other projects use api to start the app(.a file ), the app can exit and return to the project which call it.
Is it possible?
Your comment welcome
In theory it's possible to put most of an application's code into a static library archive (.a file), but any assets that are not compiled into the static library archive (such as nib files, plists, and images) will need to be provided as well, and will need to exist at a path that the static library can find them.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I need to find an easy way to maintain a set of different iOS apps but that they will be very similar one to another. Too similar actually, the differences will be just regarding the content.
Following the typical way of releasing/updating an app, it would imply:
Create a "core project" of the app with all the functionality and UI.
Create n projects that reuses the core project. Every project would just provide a DB with different content.
Having to release/update every single project/app to the AppStore
This would be too time consuming. Is there a tool or a methodology that can help us speed up the process and help the maintenance?
The built in process for this is to create multiple targets in a single project. Each target will have its own info plist, etc.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Is it possible to compile iGraph, graph layout library for iOS?
I haven't. I don't know anybody who has. But I've also never heard of it before.
The website claims it is written in C/C++, so in theory you should be able to get it running on iOS. You may need to make some modifications.
Looking more closely at the documentation, it appears to be a plain C API (even better!) so it should be fairly easy to compile for iOS. You will probably have to edit the Makefiles to have it cross-compile for ARM (instead of Intel).
However, the source code is published under the GNU GPL. There are clauses in the GPL that conflict with clauses in the Apple Developer Program Agreement (I forget the specifics but it should be easy enough to research). This means that if you got it working in an app, you couldn't put it on the App Store without either Apple or the iGraph developers offering you different terms.
Not sure about iGraph, but I've been thinking of trying Core Plot.
It's a graph plotting 3rd-party iOS framework.
Not a lot of documentation, but you can see some apps that already use it if you browse their site.
Not sure why you got voted down. Happens.
Edit:
Oh, in that case, this question might help: https://stackoverflow.com/a/5074186/1126783