Category Archives: Ios

Waiting until two async blocks are executed

The following snippet of code.. which is super interesting, is based on this post. This allows to dispatch a block, on Main Thread, once two async operations are completed.

dispatch_group_t group = dispatch_group_create();

dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ {
NSLog(@"Block1");
[NSThread sleepForTimeInterval:5.0];
NSLog(@"Block1 End");
});

dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ {
NSLog(@"Block2");
[NSThread sleepForTimeInterval:8.0];
NSLog(@"Block2 End");
});

dispatch_group_notify(group, dispatch_get_main_queue(), ^ {
NSLog(@"Block3 :: %d", [NSThread isMainThread]);
});

dispatch_release(group);

New iPhone Jailbreak Released

It’s been a while since the last iPhone jailbreak was made public. But all evil comes to an end, sooner rather than later. A couple days ago, a hacking group named evad3rs, published a brand new Jailbreak tool for iOS 6.x.

It’s claimed to be able to jailbreak any iOS device: iPod / iPad / iPhone / iPad Mini. I’ve tested it myself on two devices: iPhone 4s and iPhone 5. The results were impressive. They managed to combine at least 3 different exploits to make things work.

The process is quite seamless. You simply download the app, run it, and follow the instructions onscreen. The binary is available for OSX, Windows and even Linux.

You can download it here. What to do once the device is jailbroken?. You can perform an incredible amount of customizations, that are not available in the pristine version of iOS.

iPhone Jailbreak

If, on the contrary, you’re still running an old version of iOS, we suggest you check out this site. They’ve got a nice repository of information with the previous jailbreaks that were made available… who doesn’t remember BlackRa1n, LimeRa1n… JailbreakMe or GreenPoison?.

Those were golden times, but Apple has spent a lot on hardening iOS security (no wonder why they’re now providing devices to the US Government, while RIM is directed right ahead to chapter eleven).


By the way.. we do not encourage the usage of hacked / cracked software. If you like an app, please, support the devs!.

Checking the UUID of a DSYM file

So… you’ve got a crashlog, and you don’t know if a given DSYM actually matches with the original executable?. Well, there is a super easy way to verify this. Simply type the following, in your console:

dwarfdump -u Project.app.dSYM/Contents/Resources/DWARF/Project

Ideally, mdfind should help you locate the matching DWARF. But sometimes… symbolication requires extra debugging.

Xcode 4.6 Released!

Head your browsers to Apple’s Development Center. Apple has just released Xcode 4.6, with iOS 6.1 support (Release!).

So far it has proven to be sooooo much stable. The previous release was a nightmare, specially during summertime. (Those of you who run Xcode on macbooks understand me… the entire machine turns into an iron!).

However, i’ve been reading quite a lot of reports, from many different sources, pointing out that although 4.6 *freezes less*, it still has a couple of severe bugs, that will lower your productivity.

Xcode

Fixing ‘Could Not Read from Device’ Xcode Error

Did you just get this error while trying to run your app in Xcode?…

Could not read from device

The fix is fairly simple. Simply launch iTunes, make sure the device is plugged in, and synchronize. The error should be gone by now.

Told you, it was a quick fix!