R.I.P. iGreekNews part 2

In an unexpected turn of events, I was forced to take down iGreekNews. In short, Apple didn’t like that iGreekNews consults RSS feeds from various sources. I find it strange, considering that the purpose of RSS is to be free, and it is a means of communicating with news sources.

In any case, I cannot continue supporting it or try to mess with lawyers in order to gather any evidence that Apple may require. My full day job doesn’t leave me enough time to do that.

Continue reading

Code updates

I have taken some time to update my GitHub repository, who has been lonely as of date. While developing code for my projects at the university, I came to realise that much of this code could prove useful to others.

CSPopViewService

First thing I did was to update the pop service for iOS┬álibrary. The library is constructed to work with Chris Miles’ excellent CMPopTipView library, and improve automatisation of the appearance and disappearance of the pop tip views. The need for this came from the time I needed to construct a live demo with functionality from the application, so we needed to present and dismiss pop tip views automatically and at arbitrary time intervals.

Consider this code, taken from CSPopViewService.h

And here is how it is actually used:

This will have the following effect:

  1. It will present the ‘pop’ object pointing at the first bar item 2 seconds after the command is given.
  2. It will present the ‘pop2’ object pointing at the second bar item 1 second after the ‘pop’ item will appear.
  3. It will present the ‘pop3’ object pointing at the second bar item 2 seconds after the ‘pop2’ item appears. The other 2 pop items will be dismissed when ‘pop3’ appears.

That way, you can make presentation or tutorials within your application. You will not need to worry about threading or timers, since all timers can be cleaned up using the -stopAllTimers function. The best place for this function is the -viewWillDisappear function inside your view controller.

Sequential Reader – seqreader

Sequential Reader is a (little for the time being) file reader that I made, aimed at facilitating parsing files. I wanted a system that is fast and memory efficient, and can parse a file line by line. I had some line-by-line parsing to do in a HUGE file, to complete a project for the university. Turns out that many people had the same request as me, as Apple did not provide an easy way to do that.

Anyway, CSFileReader was created for this purpose. Just instantiate the reader with the file path, its encoding, and then assign a delegate to it. While parsing, the file will send you callbacks through the delegate functions, with the line that was read in NSString format.

I will have to invest some more time to these libraries to make them more mature. I will also have to create a new repository for CSWatchDog, a nice simple wrapper around GCD timers, aimed at facilitating working with events about to be fired after a few seconds. More on this, and updated code, soon.

iGreekNews updates for iPhone and iPad

igreeknewshd

After a long time, iGreekNews and iGreekNews HD for iOS have finally been updated. And it was about time.

Some of the changes are welcome, and have been requested many times by users.

— Renewal of the source websites. Removed many sites that do not work, and added new ones.
— Bug fixes. iPhone version should not crash when adding a custom URL anymore.
— Faster browsing
— Stability issues fixed.
— Sharing with Facebook and Twitter fixed. Now newer devices will use the iOS’ implementation of these services. to post.

The update is not without compromises, however. Due to changes in the codebase, iGreekNews stops to support iPhone 3G anymore, due to the minimum iOS requirement set to iOS 5.1. This change was necessary, as it’s time to start getting rid of old reduntant code that resulted in error-prone methodologies. Not to mention that even Apple’s own tools to not make it easy to test any application in older iOS versions if you don’t have a device dedicated to this purpose.

Lately development in all my projects has been stalled. And for good reason. I’m trying to cope with my studies and at the same time push development on new projects I want to get involved in. Stay tuned, as more updates will follow.