Another 2 forward, 1 step back.

My current grumpiness with XCode, you cannot refactor Swift Code.

One would think that is a pretty basic feature an IDE should have, but as of the writing of this it does not exist.

I discovered it when I tried to refactor some of my code for SEAR-RL last week. Xcode threw up an alert warning it could only do that for C and Obj-C code. So I decide to press ahead and just manually refactor everything. I think that was a bad idea.

I started having a lot of issues in my UI, like the Application just could not find certain assets [at least that is basis of the common warnings XCode keep telling me]. Unfortunately, since Apple and XCode tries to take care of a lot of stuff ‘behind the scenes’ from the developer, I could not figure out what I had disconnected [broke] with my factorization to fix the problems. So I had to trash all my code and start over with a new project.

I should not be surprised, if seem every time I start a new coding endeavor, I have about 2, 3, or even 4 false starts before I actually start getting anywhere. However, that doesn’t stop it from being annoying.

The upside, is these false starts usually help me develop a better idea how to structure the underlining project.

The last two weeks…

OK. I admit, I missed a week of updates. I am lame, but I think I made some positive progress last week.

Mainly, I have started trying to code up a little bit of the project. Right now it is getting the Structure Sensor and the on-board Camera to work for future debugging.

Fortunately, I found a demo on GitHub from Adrian Smith, where he recreated the Structure View demo in Swift. Comparing the demo to Occipital’s own Viewer app, provides a good roadmap how to translate Objective-C code into Swift. Also recreating the demo has finally given me a start on understanding Apple’s iOS.

The only real downside, was I wasted a little bit of time trying to integrate Google VR into the project. I thought, maybe implementing Google VR, might help with creating the debug screens. However, in the end even though I got Google VR to work, it ended up being a waste of time. There was really nothing to gain from using it. However, I was smart enough to create a Git Branch to use for experimenting with Google VR. So when I decided to throw everything away, my depot was left in a pretty clean state. This was good, because one has to use CocoaPods for Google VR. CocoaPods does sort of make a mess of your project structure, until you understand how it works, so being able to get rid of that mess helped save some anxiety.

Also, in the time since my last update, I found a pretty good open source Kanban based task tracking software called Kanboard. In fact, it is nice to see a simple web better than most of the big names out there. And it ended up being easy to set up on my own website [this one].