Travis CI is recommended for those that commonly do unit/integration test without the hassle of setting up/maintaining a contiguous integration server like Jenkins.
Travis CI is a hosted, distributed continuous integration service used to build and test projects hosted at GitHub.
Travis CI is free for public GitHub repositories and they do offer pricing plans for private GitHub repositories.
Setting up Travis CI is as simple as 3 steps. What spent most in the 5 minute setup was figuring out the .travis.yml.
Heres how my .travis.yml file looks like for SpriteKit-Components.
One detail I would like to add on the document is on Xcode_sdk. Travis CI, would always try to build and test against a iPhone hardware by default. Since I’ve tried this and never got it working as it intended to, the ‘iphonesimulator’ was the obvious choice.
Sprite-kit Components is a component model for iOS 7+ SpriteKit Framework. Add components that perform specific behaviors to your nodes. Benefits to using the component based model include:
- Lets you write reusable behaviors that you can apply to any node and reuse across projects
- Adds an update method with delta time called for every SKComponentNode and behavior
- Adds onEnter and onExit methods akin to Cocos2d’s model for every SKComponentNode which lets you perform set up and tear down when your nodes are added to and removed from the scene.
- Simplifies basic touch interaction to automatically support select, tap, drag, drop, and long presses
Its a great library for those that like to have a Unity3D like architecture in their SpriteKit game. I recently forked a Sprite-kit component to add in Cocoapods support.
To get Sprite-Kit Components, do a
pod search Spritekit-Components.
Ive always enjoyed component architecture in game development. Which is probably the reason why I am more likely to use Unity over Cocos2d.
Not to say cocos2d does not have a component architecture, but you have to put in more effort to build it. Ray Wenderlich back in January 2013, has came up with a great article about how to go about it.
Heres the article ( highly recommended to read )
I figure it would be fun to turn this into a reusable framework. Which can be downloaded here
The framwork is easy to use, but for more information, please head over read the article on www.raywenderlich.com
PS: All rights to this framework is under the copyright of Razeware LLC.
Ive been focusing some of new materials on EBuddy’s tech blog. Most likely, I will still maintain any materials that are not suitable for EBuddy here.
My first article is related to cutting down redundant image size on Symmetric images. There are some accompany code and samples on git hub. The article goes through some of the benchmarking of making your own image cache.
Please find the article at the below link.
Or if your interested in the sample code, here is the github link
Chartboost held a pretty good house warming in Amsterdam on 25/April/2013.
The office setup had 2 large rooms. And in 1 of those rooms, 2 humongous sofa’s stood out pretty quickly. That pretty much sums up the whole place. Of course, there were working tables in the centre of each room and a small bar counter on the side.
The house warming reception wasn’t really packed, but there were some indie developers, platform developers (nintendo) and game publishers. I did manage to bring home some contacts and some pretty neat stats.
1. The amount of game development studios in Amsterdam – 300 (2013)
2. The amount of students going through game courses – 2500 (2013).
Which tells me, game development in Europe is gaining a lot of traction lately.
I should really start working on something..
I’ve finally made my way to Amsterdam, Netherlands.Currently I’m at the expat enter getting my Dutch BSN citizenship number.
It is definitely a different environment that I am used to. It is a beautiful country thou the weather is a big drawback.
Ive lost track of alot of my personal projects since I made my way here. Its been a really busy 2 months with packing ( and unpacking). But Im now getting back to my ideal pace. Time to bring out those mind hacks.
Why did I decided to move to Amsterdam? My day job in Malaysia was pretty awesome and I doubt Ill be able to find another job like it. BUT.
The big plan is to experience as much as mobile development as I can. And since most developer groups and conferences are here in this region, Ill come and pop in to those events as much as I can.
Oh yeah, and look forward to the new Ebuddy XMS. In the upcoming weeks or months, this will be my main focus project. Theres a ton of ideas I would like to improve on the app.
Theres also my personal Pasteboard app, which will be released soon.
So stay tune and doei.
A friend of mine recently wanted to know how to utilize bundle images into UIWebView. His concern was that remote images would slow down his hybrid HTML5 iOS app.
So he kindly send me this stack overflow link to figure it out.
After a quick reading, its highly possible to create your own custom URL protocols to serve local bundle images to your UIWebView.How it works is pretty neat.
Say you have a HTML content the following:
<img alt="" src="“http://www.abc.com/image1.png”/" />
Since the URL scheme of the image request is HTTP, the default HTTP protocol will be invoked which leads to a HTTP network call.
Now, if we were to add a new custom URL scheme like cpimg, the HTML content should look like
<img alt="" src="“cpimg://image1.png”/" />
We could serve the image data from local resource bundle ( or documents folder). Of couse, all this magic happens by subclassing NSURLProtocol.
Get the workable sample code on Github that demonstrates this example:
The only pitfall I can see from this technique is the amount of images to be stored in the resource bundle should be less than 50mb.
More than 50mb would require a wifi connection to download your app.
Creating a shadow on your UIVIew’s are really easy with CA Layers.
All needed is 3 lines of code.
[uiview.layer setShadowColor:[UIColor blackColor].CGColor];
If you apply this code, you’ll notice a high CPU usage especially when the screen redraws (during dragging).
This is because the CA Layer tries to draw the shadow behind your view even though it isn’t visible.
The best way to ensure smooth sailing with CA Layer Shadows is to apply a shadow path. The shadow path tells the CA Layer what are the boundaries that the shadow will appear. Hence improving performance of shadow drawing.
To add a shadow path, add the following code below:
CGMutablePathRef path = CGPathCreateMutable();
CGRect pathrect = CGRectMake(0,0,uiview.frame.size.width,uiview.frame.size.height);
CGPathAddRect(path, NULL, pathrect);
uiview.layer.shadowPath = path;
We’ve been working pretty hard ( as I would like to think so) on Balloon Loons Free/lite version.
Though we really had everything planned out and thought it was time to released it, there was a couple of times where we pulled the app from the release date and continued working on them.
Finally, we decided ‘this version’ is it. Balloon Loons free is on review and will be available in the next 6 days! Heres the feature list:
- Iphone 5 support
- ICloud support
- 3 whole worlds for free.
On the other hand Balloon Loons (paid) is coming around pretty nicely. Catalin has been promoting and marketing the app all the while. And he well deserves any credit that comes after words.
Well it paid off, cause Balloon Loons is featured in AppsFire ( staff picks and App Of the Day). And heres a sweet screen shot.
Balloon Loons had has some nice reviews ( thanks to IphoneLife.com, Arcadelife and theIndieDeveloper.com.) from some really great/admirable writers.
IphoneLife – 9/10
ArcadeLife – 8/10
TheIndieDeveloper – 9.5/10
I’ve been long overdue on keeping up posting on this blog. Its been a crazy 2 months and Im really looking forward to a break.
Heres an overview of whats happening over these 1 months ++:
- Getting 2 calls per week on IOS contract work – Most which I turned down or left KIV. Sorry to those I had to reject, Im just not interested no matter how much money your willing to throw at me.
- Revamping Tap Congkak – I know alot of users download the app and find it a pretty rough app. Im working on revamping a lot of major upgrades of the app. Though it seems like getting a decent graphic designer has been a challenge.
- Balloon loons – We had a free version for quite some time but never released it. Some final touches like iphone 5 and iCloud support was needed. Good news thou, its is now in review.
- Relocating to Amsterdam, Netherlands – Im in the midst of preparing to move to Amsterdam. Thanks to Gordon Lukenberg for reaching out to me and offering me nice deal there.
Other that, Ive been busy with my day job and coding at night and endless research/learning in between.
Its amazing how much one amass amount of knowledge and still find it unsufficient.