Merging two Xcode projects into one - ios

I am really stumped....
I have got two apps and i need to merge them into one.
how do i do this???
I need a home screen, swipe left (go to one app) and (swipe right) go to the other....
both apps are partially similar but have their own complexities about them.... so each app involves a login and uses Parse. (not sure if i should integrate both keys and id's and just use 1 data base or keep them separate as they are).
I need this to be formulated from 1 app that is downloaded from the app store instead of having two apps.
Please help me

Use workspace for doing this. The below links will help you for that.
1) Xcode Workspace
2) Creating a Workspace

I don't have a step by step tutorial for the exact thing you're looking to do because I would need more information on what the two apps are that you want to merge. With that said, the functionality of swiping left and seeing the menu for App A and swiping right and seeing the menu for App B can be achieved by using this source code from GitHub https://github.com/SocialObjects-Software/AMSlideMenu There are two video tutorials there that walk you through how to implement it.

Related

Is there any possibility to add Sub-project to current Project?

Can anyone suggest me like:
I had done one project by using Objective-C. And I had an requirement to keep one button and If any user tap on that and it needs to open "https://github.com/Block-Equity/stellar-ios-wallet" (Swift) inside my app.
If user want to come back to Parent app from Sub-Project.. He can..
How can I keep 2 separate projects in One project and need to operate two projects while run-time?

Navigation between multiple ios projects in an xcworkspace

We have developed 3 different projects(Three apps)named A,B,C which was created separately,
Now our client wants us to combine them into one app,Is it Possible?
Requirement:
Project A : Manages sales orders for clients.
Project B : Keeps track of the Inventory
Project C : Monitors Customer feedback.
We need a home screen, which has 3 buttons and on clicking the button the corresponding process is invoked same as the individual app is doing right now.
NOTE: All 3 the projects have 5 storyboards & 30-40 class files each. Both are not a libraries.
I have gone through with workspace concept but can't get a clear idea. I created new workspace and added my 3 projects. But Iam not able to Navigate from storyboard 1 to storyboard 2.
You can use ios Deep linking with different tags for each project.
for better understanding please follow this tutorial.
http://blog.originate.com/blog/2014/04/22/deeplinking-in-ios/
Hope it will help!.
I believe the right way is to create an additional Core module (which incapsulates networking, database wrapping etc), which will be imported to A, B, C, and an App module, which is what you want and which imports A, B, C to itself and uses them as needed.
Otherwise it's gonna be quite messy, unclear and poorly supportable.

Best way to Whitelabel an existing iOS App

I started working at a company which developed an App for mobile payment. There is a "Terminal"-App, which receives payments of customers and then there's the "Wallet"-App, which users can download and use to pay (at those terminals).
The project consists out of 2 targets - one for the Wallet and one for the Terminal. The App is used only in 2 Countries. It's all quite sophisticated and has a huge code base.
Now I need to whitelabel the whole product for a client, who wants to use our App (both targets) with his own branding (and maybe some additional features or without some specific features) and I'm not sure what the best way would be to achieve that.
Currently I see 3 options:
Duplicate whole project
To copy the whole project to a new folder and make my changes in that new folder would probably be the most "dirty" approach. At some point, my first code base could differ from the duplicated one too much. Additionally, if any security-related issues would come up, I would have to fix it in both projects.
Create another 2 targets
I was actually thinking that this would be the best way to go. Creating a new target for the Wallet and the Terminal and then checking the current target in the source code to decide which features should be enabled or disabled sounded pretty good to me at the beginning. But then I created the new target and noticed that I will have to set that checkmark on EVERY single class for that new target. Besides that, I'm not sure any more if that's really the best way to go.
Use If-conditions
The third option would be to wrap every function, that will be available in only one of the apps, with an if loop. I see this as the "cheapest" option because it's easy to set up and I can still maintain my code base pretty well.
Is there any other option I have? Which way would yo go?
The most significant difference between the base App and the whitelabeled one will be its language. The whitelabeled version will be right to left, but iOS does a pretty good job on that without needing me to do all the mirroring.
You definitely want the extra targets. Having a new target means it's easy to use a separate bundle identifier, signing settings and more. It might seem like a pain to have to tick a bunch of boxes to add your files to the new target (perhaps quicker to use the target's Build Phase|Compile Sources list in Xcode) but it's worth it to create a real separation between the apps.
Instead of using a bunch of source code checks to determine which white label app you're in, consider making your app more data-driven. A plist file could be used to determine which capabilities your app has, and a different plist file can be used for each target.
For example, it might contain a top-level dictionary called features, with true/false values for a bunch of feature names. You have a FeatureManager that reads the file and is the single source of truth for all app components that want to know if something should be available or not.

Can i open an Xcode project on a button click from another project without custom URL schema?

I want to integrate two Xcode projects together and they both are full Xcode projects with UI and all. For example lets say i have an App 'A' which has a UIButton and on click it should open App 'B' which has its own UI.
I know we can open an App from another App through Custom URL schema but is there a way i can do this without custom URL schema and via connecting Xcode projects.
I know this a little vague question but i don't a better way to put this.
Thanks,
You're question doesn't make any sense. You're talking about two very different things. Yes, you may import one Xcode project into another Xcode project and setup a dependency between them. However, this in no way affects how the apps work with each other. If you're wanting to embed one app inside another, you have to do it at the view controller/code level. You cannot simply add one project to another and expect the two to intercommunicate. You'll have to move the functionality of one app to another. Apps are sandboxed on the device and can therefore have no communication with each other except for by using custom URL schemes as you've mentioned.

iOS calculator project free to include in apps?

I'm wondering if anyone knows of any existing calculator project or library that has a basic calculator view I can push into a navigation stack. So far I haven't found anything that doesn't look like junk.
You should find everything you need there :
http://code.google.com/p/hpcalc-iphone/
http://blog.itopchiyev.com/2008/10/09/hello-iphone/
http://chris-software.com/index.php/2009/04/25/simple-calculator/
https://github.com/rargulati/Simple-Obj-C-Calculator
http://code.google.com/p/obj-c-calculator/source/browse/?r=30#svn%2Fbranches%2FCalculator%20at%20Assignment%201%253Fstate%253Dclosed
http://www.iphonedevx.com/?p=694
You would probably have to adapt some of these in a final app. Check for copyrights, and if one get your heart but cannot be included in your project (do not hesitate to contact the authors, really), rewrite yours from scratch with that inspiration source.
Check out iPhoneCalculator on GitHub, or search for it by keyname.

Resources