Incorporate small swift project into another swift project - swift

I have a swift project in Xcode that I am working on. I'll call it the primary project. I have most of it working. I was having trouble with date pickers, date ranges and date math so I started another project called StarEndDate with just one table view controller so I could tinker without messing up the primary project that is working. I finally have everything working the I want it in the StartEndDate project and now want to implement what I learned in the primary project. Do I just copy and paste chunks of code between the 2 projects or is there another less burdensome way to incorporate the small swift project into the primary project? I will never use any of the code again so I wanted to keep it simple. I can't seem to phrase what I want to do in searches well enough to get any results that would help so I would also appreciate help on how to describe what I want to do.

The easiest thing to do would probably be just adding these files from the original project into your new project.
So, if you right click (or Ctrl+click) in the project navigator, you get this menu:
Alternatively, from the top bar, you can open the "File" menu:
Either way, you want to select:
"Add Files to "YourProjectName"...
Or, you can use the keyboard shortcut: ⌥ + ⌘ + A.
Anyway, this will open up a window from which you can navigate to and select the files you want to add to your project. For this scenario, I'd recommend making sure you have "Copy items if needed" checked.

Related

Xcode - how to use a test plan for a scheme (convert button is missing)

I would like to use test plans for the scheme in one of my libraries. In a previous library I created, I selected the "Convert to use Test Plans..." button in the scheme editor, but in my current project, this button is missing. In addition, after creating a test plan, it does not show up in Product > Test Plan in the menu bar.
In a different project that I created, the "Convert to use Test Plans..." button exists:
Why is this button missing in one of my projects? What do I need to do so that I can add a test plan to my scheme?
Answer to the above question 'Why is the Convert to use Test Plans missing in one of my projects?
I also had this issue and boiled it down to the following:
It depends on if there is this element in your MyProject.xcscheme file:
<TestPlans>
</TestPlans>
If you have this empty element in there, the button won't be shown.
This might happen like this:
create a new project
open the app scheme -> the button is there
now use the convert button and create a xctestplan
take a look at the changes in your git client
we see that the element has been removed and the elements has been added. Ok for that.
now remove the testplan in the schema -> the convert button does not appear again. This is because now we have the empty element. Appearently Xcode doesn't react correctly - I think this is a bug.
Workaround: remove the
<TestPlans>
</TestPlans>
and bring back the
<Testables>
</Testables>
I use VS Code for this because the xcschema is in a subfolder of the .xcodeproj which is easier to handle with VS Code
UPDATE: seems like it's fine to just delete the element

Drag and drop XCodeProj into another XCodeProj not giving me the option to copy

I'm trying to "install" core plot 0.4.
The first instruction is to drag and drop the XCodeProj file into my own project. I do this. Normally when I drag and drop images or the such like it asks me if I want to copy the file into my own project. However for some reason its not asking me, its just creating a reference.
I'm not sure what the difference is, and whether it will still work or not with a reference, its just the first instruction (http://recycled-parts.blogspot.com/2011/07/setting-up-coreplot-in-xcode-4.html) says to click the "copy into folder" checkbox.
However that whole dialogue doesn't come up. I drag and drop and it puts the xcodeproj into mine without anything happening!
confused lol
Thanks
Edit: My solution works, but the reason it works is in this answer: https://stackoverflow.com/a/5373575/264947
--
This is what I did to fix it:
Close Xcode.
Open Xcode and create a new workspace.
File > Add files to "Workspace".
Add the first project.
Build to make sure it builds correctly.
File > Add files to "Workspace".
Add the second project.
Build to make sure it builds correctly.
Drag one project into another.
Now, be careful with the next step:
Erase the second standalone project but choose **REMOVE REFERENCES. **
There. Now you should have one project as a dependent of another project.

Files missing in XCode 4 Project Navigator after archiving

I'm currently trying to create version 1.1 of a project I created in XCode 4, but after archiving the files do not appear in the Project Navigator. My initial thought was that I had to clone my repository (git) and thus create a new version in which I could see the
files, but the clone is also missing the files.
I can access the files from the top bar, but that's not really a desirable solution when
working with a big project. The case is the same for another project that I have archived
so I suspect it is supposed to be a feature of XCode 4.
What am I missing here?
(I'm just combining your "nevermind, I found it" comments into an answer, to maintain the SO style, so this question doesn't pop up as needing an answer.)
Check that you're not filtering file names (left column, bottom.)
Also make sure you haven't pressed one of the "show only files with..." toggle buttons (same location, near the search entry.)
Note that these buttons are toggles
Yes. I had to hit the X button with the icon that was blue at the bottom. This corrected my issue for XCODE Version 6.1. Thanks.

Xcode/iPhone Development 6 months in - Annoyances

I've been iPhone programming for 6 months and come from a PC/Java/Eclipse background and still have a few annoyances with Xcode/iPhone programming I wonder are there any shortcuts to.
Is there any way to prevent multiple windows opening all the time in XCode?
a) When you click on the Errors/Warnings in the bottom right of the status bar build errors are shown in separate window. Any way to get these to show in the main editor?
b) Anyway to get debugger to appear in main editor.
I have a big screen iMac and it's still window hell on Macs.
When you come from Alt-Tab the Mac is a nightmare.
2) Anyway to get a toolbar item on the main editor to:
a) Open Console (I know CMD-thingy-R)
b) Open Break points (you have to open Debugger first then breakpoints)
I know there's keyboard shortcuts but I have only left hand free others on the trackball so any keys on right hand side of keyboard are too far.
I know you can add Finder toolbar scripts (just wondering if anyway to extend Xcode).
Are there utilities to extend Xcode? Scripts/Automator/Any Services I can setup to help.
Can you automate Xcode like you can with Windows/ActiveX/VBA
3) Limit lookups using CMD + double click.
If I double click on a variable to find its definition using CMD + double click it shows every occurrence of all variables with that name. (annoying it you name all you maps mapView)
Anyway to get it to limit to the current class or at least order so current class is first.
4) Find doesn't seem to loop backwards if result all above cursor position
I'm in a class and I hit CMD + F for find.
Find box appears.
I enter some text hit return.
It says I have x matches but only back arrow is highlight in Find
But when I hit < it does nothing.
I need to scroll to the top and redo the search.
If the text is both forwards and backwards then both < > are highlighted and it works.
is this a bug or a 'feature'
Missing Eclipse features
I have been looking at the User Script menu but was wondering how powerful they are?
5) any scripts around to generate source from members such as description: #property #synthesize
if I add a new member, run a script will generate #property/#syntesize and release in dealloc
7) any good sites for scripts?
SCM
Im having problems with SCM and Folders on HD under project Classes directory.
You get a library e.g. JSON. It usually comes as a folder. You copy it to the /Classes for your project. /Classes/JSON
I create a Group for the Library in Xcode under Classes group.
Classes
JSON
I drag the files from the folder into xcode into the JSON Group.
I add them to the SCM and icon changes from ? to A
but if I try and commit them it say folder /JSON is not under SCM.
Can you drag a folder into Xcode so that it AND its files get included in SCM?
Anyway to stop Xcode Help from being on top all the time.
I keep feeling like punching it and telling it to get out of the way! :)
I dont mind it open just not in the way once I've finished.
Yes I know I can Ctrl-W
Sites: the main site I use to learn Obj-C are :
stackoverflow.com
Google code Search - tonnes of full apps on here
http://www.iphonedevsdk.com/forum/iphone-sdk-development/
Apple Developers Forums (anyway to get RSS feed to these or is that blasphemy :) )
Safari - 100s of IT book though prob too many to keep up :)
any others?
Any site that gives simple examples for Obj-C/ UIKit
The docs just show the methods but actual examples (Google code search has helped a lot here)
--> 1):
In Xcode -> Preferences -> General, select "All-In-One" for the Layout.
I was used to have only one window and found this mode much better than the default.
Generating #property and #synthesize code.

Eclipse: shortcut for "open project"?

Is there a shortcut in Eclipse for "open project"? Ideally, I'd like something like the "Open Resource" dialog.
I want this because I have a "testing" project, which I use whenever I want to try something out… But it's annoying to scroll through the massive Navigator trying to find it and click it when it gets closed.
Not by default. The action is defined here, with no keyboard shortcut.
http://eclipse-tools.sourceforge.net/Keyboard_shortcuts_(3.0).pdf
You could add a Working Set that contains only your test project, and use 'Select Working Set...' functionality from the Navigator tab's view menu:
While this won't open the project for you, it WILL make it the only thing you see in navigator or package explorer.
Once you've added it, it will be in a list and you won't need to open the 'Select Working Set...' dialog, just select 'my test project' from the popup menu. It's triggered by that small triangle in the upper right of Navigator, I'm not sure if there is a shortcut.
To switch back to your normal work, simply 'Deselect Working Set' and you will then see everything again.
I also find the 'Collapse All' button/shortcut to be handy when finding things in the Package Explorer or Navigator tabs.
I'll offer a solution to a problem I've had which, if I've interpreted the question correctly, is very similar to yours.
I find that when I have a lot of projects with loads of expanded directories/packages inside Project Explorer, trying to find a particular project is irritating because I have to scroll through all this. I could collapse all projects down but then I also lose my current position in every project.
I'd just like to be able to search for a particular project by name and open it, in the Project Explorer tree. Opening a file inside the project using Open Resource isn't a good enough workaround, as having to think of the name of a file inside that project completely out of context is often equally annoying!
A solution that works great (at least in Eclipse Juno, Mac OSX) is, with the Project Explorer focused, to hold Shift and start typing the project name. This dynamically selects the best matching project in the Explorer as you type. Then with your hands still on the keyboard you can use the arrow keys to open up and browse the project.
It ain't pretty but it gets the job done, and saves some valuable seconds :)
You could also:
switch workspace (in a workspace with only this test project in it) (no shortcut: you can define one)
install mylyn and select a "test" task (which would immediately empty your Navigator view, leaving only the relevant classes/methods).
If the test project is already opened and you know the name of the class in it, you could go to this class with Navigate -> Open Type (There is a shorcut also, on mac osx is Shift + Command + T)
I find it easier to move with this method, but I didn't know it until someone else showed me, maybe it helps.
You can set a shortcut at Preferences->General->Keys, search for Open Project. However, for me it does not work from the editor itself. I have to click the package explorer, for example. Also, if you have a lot of projects, there will be a huge list of them as well, as expected.