How to replace files in Xcode under version control - xcode

What's the best way to update some open source classes that are under subversion in Xcode?
For example, I'm using Appirater from github in my project and I want to replace my version of it with the latest version.
In the past when I've just imported the new files and deleted the old ones, Xcode/svn has gotten confused and given me error messages about missing files and such.
I'm using Xcode 5.0.1 and allowing it to interface with my local svn repository.

Related

Replace Xcode Project with Swift Package while keeping same GitHub repo?

I'm currently refactoring my Xcode project into a Swift Package with multiple modules, which I combine with a lightweight Xcode project using an XCWorkspace (kind of like Pointfree's isowords). Right now, my Xcode project is hosted on a GitHub repo. However, with this refactoring, it's the Swift Package which will be hosted on GitHub.
Can I replace my Xcode project with the Swift Package on the repo, without losing all my history? Will the history of files inside my Xcode project still show up?
Yes, this will be fine. Even if you delete every single file in your git repository and push it, your entire commit history will still be there. Feel free to replace your project with a package!

Flutter version information not used by Xcode

In my iOS project, I have the following settings in the Runner -> General tab, under the Identity section:
Version: $(FLUTTER_BUILD_NAME)
Build: $(FLUTTER_BUILD_NUMBER)
which is the same as when creating a brand new Flutter project. However, when I was going to create an Archive for releasing my app, Xcode complained that those fields were missing or incorrect (I don't remember the exact error message).
The only way I could build the release app was to change them to hardcoded strings - i.e. 1.0.0 and 1 respectively. What could be causing this issue? It would be a nuisance to have to remember to update those for every release, and I shouldn't have to, right?
If you created this project with an older Flutter version
several files created in the ios/ and android/ sub-directories might be outdated.
Newer Flutter versions might generate these files a bit differently and projects created with older Flutter versions might cause issues.
Ways to fix
Delete the ios/ and android/ directories and run flutter create . to re-generate these directories.
HINT
Custom changes will be lost and need to be re-applied. This is easiest if the project is committed to a version control system like Git.

How to add existing Xcode project to git version control in Xcode?

It's clear how to add an existing project to GitHub outside of Xcode, there are a number of tutorial: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
There are also a number of tutorial of how to create a new project in Xcode under version control.
However, there are no tutorial on how to do both: add an existing project with the controls within Xcode. Is this even possible? Or since I already started the project, I'll have to do it all via command line?
Since you didn't ask Xcode for a local git repository inside this project folder when you created the project, you will have to create one via the command line.
After that, you can use Xcode's internal GUI to give git commands in your project - if that's the kind of thing you really want to do (personally I abhor Xcode's git interface).

How to save versions of the project in Xcode 5

I'm new here.
I created a project and edited it few times. to back up I made a copy of the project folder. I see that in the Xcode 5 appears Source Control and I try to use it for my project versions back up. I selected from the menu: Source Control > Check Out - and entered a Repository Location => it created an empty project (with my project name). How can I save versions of a project?
I recommend not relying on xcode's built-in version control.
Try out http://github.com
For local use the building Git is good, commit often.
See, the Apple WWDC-13 session 414 (Understanding Source Control in Xcode) for more information.
For secure off-sit setup a remote repository, GitHub is the most popular but not free for private repos. Bitbucket is free for limited private repositories and is easy to use.

XCode 4.3 and SVN

I'm new to iOS developing, I haven't used earlier versions of XCode.
Yet I have stored my project on my local hd. Now I want to use some online subversion service.
I cannot seem to find the appropriate options in XCode. The hints that I googled all refer to a menu called SCM which I don't seem to have.
I created a new and empty repository online (webbased) and tried to configure XCode to use it by selecting the "Connect to a repository" menu when xcode starts. After some tweeking in the command line this "connect to a repository" succeeded but afterwards XCode simply closed itself again.
I tried copying the files that belong to my project to the path that I set up to be used with SVN manually. I opened the project in XCode from that path and after adding another file wanted to commit that change but couldn't find how to do that from within XCode.
Now I found that in XCode / Organizer / Repositories / MyProject is listed but has the type "GIT", which is wrong.
Do I have to change the repository type to SVN instead of GIT? If so, how can I?
When you created the project there was an option to put the project under source control. This option creates a git repository and is checked by default.
To use SVN you have to import your project into the SVN repository. (And you probably don't want it to be under git and svn at the same time, so you'll either delete the .git folder or recreate your project without the scm option selected.) Once the project is imported into your repository then you make sure Xcode knows about the repository and you can check the project out.
But really I'd recommend just using Git. It's a modern version control system with lots of nice features (though to do much of anything out of the ordinary requires using the command line) and there are nice project hosting sites for it like GitHub. I don't think SVN compares very well to git.

Resources