Archive for 'Programming'

Fixing Symbolication

So you been having trouble with symbolication since the Xcode 4 release? And of course you checked out our Xcode 4 resources post and so applied the version on github which was described here, but that didn’t fix all your problems? Well, here’s a new take on it with a rather simple solution:

Fixing Xcode 4′s symbolicate utility to get comprehensible crash logs

…Digging into the errant symbolicatecrash source, I noticed that the code that finds the executable path tests each candidate using otool, but doesn’t seem to be able to comprehend the output from otool caused by running it on the wrong architecture.

So, replacing the rather unhelpful ‘die’ statement on line 323:

die “Can’t understand the output from otool ($TEST_uuid -> ‘$otool -arch $arch -l $path’)”;

With a “No, it ain’t this executable” response:

return 0;

…solves the problem immediately. Now I can drag crash logs straight into the Organizer in Xcode, and it’ll symbolicate correctly.

Give that a shot if you’ve been having problems and see how it works for you!

Continue Reading →
0

Saved Files Alert!

So does your iOS app write any of its working files to NSDocumentDirectory? Yep, pretty much all ours do too. And it looks like that might be a disaster waiting to happen if the situation described here comes to pass:

Game, utility or whatever app you are developing. Know this… as of iOS 5; the USER will have full visibility into your apps Document folder. <- as of beta 2

… Oh and in the new multi-tasking order of things… you guessed it… you can of course DELETE these files WHILE your app is in the background, which again; only YOU know what problems that will cause…

Gleep! Looks like it’s time to start being a lot more careful about file management. If you already were using NSLibraryDirectory where appropriate and writing all your code assuming users could mess with NSDocumentDirectory at will, well our hat (had we a hat) is off to you sir/madam. For the rest of us lazy types for which a rushed update appears in order, the timely warning linked above also includes a code snippet that looks like a good template for a one-time move of your data files and whatever from NSDocumentDirectory to NSLibraryDirectory. Handy, that.

h/t: @gregmeach!

Continue Reading →
4

NinevehGL

Here’s another option for you if you’re looking for something in the 3D engine space beside the cross platform options we collected most lately a couple days ago, or the cocos3d extensions to cocos2d, or that Galaxy Engine thing we mentioned a while back; this one’s called NinevehGL and why yes, they look like they are aiming their target market directly at trolls:

The NinevehGL’s golden rule is:”Keep it simple!”

So we think if we can’t teach you a feature in 3 min, that feature is not good enough. Each video tutorial bellow is made of 3 min, there are 10 basic lessons to teach you. If you watch the videos and/or read the tutorials you will learn to construct almost anything with NinevehGL. Besides, there are some other advanced topics you can learn in the full documentation guide…

Yes, yes that sounds like a compelling reason to pay attention to them, indeed. Free, open source, Objective-C, and they’ve just entered open beta. Try it out and let us know what you think!

h/t: ManiacDev!

UPDATES:

Adding an OpenGL ES view to your project using NinevehGL

Continue Reading →
1

AppA Source

Here’s a new service from the AppA folk who you may remember us being mildly baffled by a while back — AppA Source!

Source is an online directory of code, software, meetups, conferences and other items of interest to iOS developers.

It is intended to be a ‘one stop shop’ for developers to find the tools and information they need to create amazing apps for the iPhone, iPad and iPod touch.

Source is still undergoing rapid development, and is currently considered beta. However, we are keeping it online as it is already a useful source of information…

Looks like they’ve made a decent start, and hey you can never have two many sources of development news; so go ahead and follow @appasource if you want to keep tabs on how they progress!

Continue Reading →
0

appledoc

This looks like a pretty easy way to generate Apple-styled documentation from Markdown type comments in your code, if you have a need for doing that kind of thing:

appledoc – Objective C API documentation generator

appledoc is command line tool that helps Objective-C developers generate Apple-like source code documentation from specially formatted source code comments. It’s designed to take as readable source code comments as possible for the input and use comments as well as surrounding source code to generate visually appealing documentation in the form of HTML as well as fully indexed and browsable Xcode documentation set. Although there are several tools that can create HTML documentation for Objective-C, all of those know to me fall short in meeting the minimum of goals described in appledoc’s readme file. Check example documentation to see what you can get!

Certainly looks vastly superior to any of the tools we’ve ever used for that kind of thing; however, we haven’t had to deal with that SDK-documenting kind of task for several years now. Anything you use that you consider a superior solution to the above, Dear Readers?

h/t: @alanQuatermain!

UPDATES:

Auto Doc: Continuous Documentation Integration with appledoc + Jenkins

realm/jazzy: “A soulful way to generate docs for Swift & Objective-C.”

Continue Reading →
1

Cross Platform Developments

So it’s been a while since our last game engine roundup and HTML5 development roundup, and aside from that rather interesting looking Moai SDK we haven’t mentioned anything else in the cross platform area lately it seems, so let’s sift through what bookmarks we’ve accumulated for that kind of thing.

The one that’s got the most frenzied yammering going on about it is this ‘Project Spartan’ HTML5 framework thingy that Facebook is supposedly going to take on Apple with. Supposedly. Seems rather more likely to us that Facebook has decided that Flash is never going to not suck on the web so they need to provide a mobile migration path to their developers, and directly challenging Apple would be at best an afterthought. But we shall see.

Presumably if that does work out, the cornucopia of other HTML5 kits out there would drop in relevance immediately. But at the moment, it’s still a pretty wide open field. In addition to the collection above, here’s a good article on the two most popular:

A Deeper Look At Appcelerator and PhoneGap

We do seem to hear a lot of good opinions of Sencha Touch though, and there’s a series of tutorials here on writing a simple application with it that does make it look like it’s reasonably well designed.

If you’re focused on cross-platform games, in addition to the links above you might check out Jeff LaMarche’s Thoughts on Unity3D which apparently he feels is the best of the current choices. Us, we instinctively tend towards open source for anything cross platform; it’s just not reasonable to expect that the vendor is going to take quick advantage of all the new developments on every platform they support, and you of course being an awesome developer want to do that, don’t you?

Couple other possibly interesting ones we noted references to over at ManiacDev lately:

MoSync SDK – “The Open Source SDK for universal mobile application development”

… With MoSync, you are developing using standard C/C++ in an Eclipse-based environment preconfigured with a set of MoSync-specific plugins to create a fluid experience from development and debugging to testing and deployment.

The same compiler, GCC 4.0 with a custom MoSync backend, is used for all platforms, ensuring consistent application behavior everywhere.

Since MoSync uses standard C/C++, a vast number of libraries are readily available to developers. Examples of libraries successfully used with MoSync are SDL, yajl, STLPort and SQLite.

Platform and feature support

MoSync currently supports the iOS, Android, Windows Mobile, Symbian, JavaME and Moblin platforms. Blackberry and Windows Phone 7 support is coming shortly…

Well, we’d certainly rather program in C++ than Javascript. And as noted above, we find open source a rather compelling feature of a cross-platform development environment. So that one strikes us an option to definitely stay aware of.

Monkey Coder – “a brand spanking new programming language that allows you to create apps on multiple platforms with the greatest of ease.”

An evolution of the popular Blitz range of compilers, Monkey can generate code for the following platforms:

  • HTML5
  • Native OpenGL/OpenAL (Windows + Mac)
  • Android
  • Flash
  • iOS
  • XNA

Sounds a little too magical to us to be likely to be anything but a seriously lowest common denominator solution, and learning another language that gets translated into all these other languages seems like just a bit too much that could go wrong to be overly confident about putting a big bet on that one. But hey, always willing to be pleasantly surprised!

Any other interesting cross-platform developments you’ve noticed recently, Dear Readers?

UPDATES:

And yes, the very next day, here’s a roundup mentioning some more options:

Platform X: How cross-platform tools can end the OS wars

Maybe you’re looking for a BlackBerry/Android/iOS/Windows7/OSX C++ 3D framework? Check out blackberry / GamePlay!

Continue Reading →
3

Echoprint

Hey, here’s some way serious niftiness for you: You know that fingerpinting playing music thing that’s all cool these days? How would you like to put that into your app? For FREE? Well, guess what, there’s a new service Echoprint which is for exactly that:

Music resolvers such as Shazam, Soundhound, Gracenote and Audible Magic work by “listening” to the music and then searching for features in the audio in a large database of content. They find a match in a canonical song ID, and return that to the user. Some, like the mobile apps of Shazam and Soundhound work “over the air” — where audio can be identified in noisy settings over a microphone. And others work only on files, by computing hashes on mp3s stored on a hard drive. All of them share three components:

  • the “code generator” — the piece of software that takes an audio signal and computes features or “codes” to look up,
  • the server — the hardware and software that can quickly look up codes in large database of reference songs and find the answer, and
  • the reference data — the database of millions of songs that can be resolved.

Echoprint includes all three. And, for the first time, all three are being released under open source or permissive licenses. The code generator is open source and free to download and build into apps for any platform — Mac, Windows, Linux or mobile (Android, iOS or Windows Mobile). The server is open source and available for anyone that wants to host their own resolving service. And the data, at first provided by our content partners at 7digital, is available for free download provided that any new additions are shared back. This data sharing approach ensures that over time, the Echoprint data commons will grow to every song fingerprinted by all users, and that data will be openly available to any developer. The Echo Nest will run and maintain the first Echoprint resolving server but we expect others to host their own…

Cool beans, what? The repository is on github; note particularly echoprint-ios-sample,

Very brief sample of how to use echoprint in an iOS app. This will choose a file from your library, compute the code with Echoprint and send it to the Echo Nest API for matching.

Now, all we need is for Apple to submit the iTunes catalog!

h/t: Mashable!

Continue Reading →
0

Sample Code: HelloMapKitWorld

Here’s another good project to mine for useful tidbits, courtesy of the good folk over at ManiacDev:

HelloMapKitWorld

This source code is a sample of how to use MapKit. Nothing fancy, just some demo / sample code.

This is a simple application that downloads some locations from a remote JSON file, parses them, inserts them into a Core Data database and then displays them on the map…

Uses ASIHTTPRequest and JSONKit and MBProgressHUD which are all widely agreed to be best of breed at their respective tasks, so a project that blends them all is definitely worth taking a look through!

UPDATES:

Also note some other MapKit helpers:

iOS Map Kit For Beginners Guide

Library To Quickly Turn A Map Kit MapView Into A 3D Augmented Reality Map View

Library For Easy iOS Map Kit Annotations With Multiple Individual Selectable Rows

JBDaylightOverlay for iOS

Continue Reading →
0

SocialCompare – PAAS

This is an interesting concept: SocialCompare.com is an, eponymously enough, social site for creating comparisons.

Find original user-generated comparisons tables. Compare anything such as products, services, objects, software, websites, people… Your choices and decisions will be better and easier…

Could be, could be. The particular comparison that caught our attention was this one:

Platform as a service (PAAS) for cloud applications (Scalable cluster of services)

We’ve mentioned a couple in passing of that type of thing before, but this is a rather more comprehensive list of all the services of that sort than we had previously been aware of; if you’re interested in some cloud computing support — and isn’t everybody on that bandwagon these days? — that’s probably a good link to check out!

h/t: @ZoelOnSoft!

Continue Reading →
0

AQAppStateMachine

So you have some complicated state management in your app? Some really complicated state management? Well, this might be just the thing for you:

AQAppStateMachine

AQAppStateMachine is designed to assist the development of applications with some fairly intricate state requirements. The idea is that the state itself is stored as an n-bit bitfield, and that the application can define certain ranges of this bitfield to refer to state flags. These flags can be combinatory or mutually exclusive, or hell, they could just be integers. The state machine itself is designed for an app which needs to, say, do Task A, but only if B has been initialized, C has failed to initialize, and D is not currently happening, along with E, F, and G each being in one or more of a number of states…

Yikes. Offhand we can’t think of any state machine we ever did with more than three conditions for a transition … but if the need ever arises, now we certainly know where to look! Block-based so iOS 4+ only, but hey that’s getting to be less of an issue all the time.

Continue Reading →
0
Page 30 of 98 «...10202829303132...»