Launching apps that aren't registered with Apple

Years ago as I got my first MacBook I encountered a problem of launching programs from unidentified developers on a Mac. Opening trustworthy and familiar programs from the internet was not a problem, but as soon as I wanted to try something less known or from a less known source, I got the error window saying that it is not possible to open a program from unidentified developer. Back then it wasn't so self explanatory to me how to handle this issue, nor it still is to many of my friends.

User input (mouse clicks) disabled on startup when full disk encryption, mobile accounts are enabled on OS X 10.9

Discover a work around for bug in OS X 10.9 where under some circumstances when full disk encryption,Filevault and mobile account features are enabled the system prevents the user from selecting a specific user using the mousepad, thereby preventing the user from authenticating and unlocking the disk, prior to being presented with the standard login screen for the user account. Indicators that you are experiencing this issue: Upon startup there may be two user accounts for your single mobile account enabled user. Caps lock key works, indicating that the keyboard is functional, however the mousepad will not register clicks, it will only move the mouse.

Store any filetype in Apple's iCloud

If the folder ~/Library/Mobile Documents does not exits

  1. Open a terminal window from Applications -> Utilities -> Terminal.
  2. Enter the following command:

    mkdir ~/Library/Mobile\ Documents

If the folder ~/Library/Mobile Documents exits

  1. Open a terminal window from Applications -> Utilities -> Terminal.
  2. Enter the following command:

    cd ~/Desktop
  3. Enter the following command:

    ln -s ~/Library/Mobile\ Documents iCloud_Documents

Now all files in the folder iCloud_Documents on the desktop are stored in Apple's iCloud and synchronized with your iOS devices and Macs.

Apple's iCloud only allows iWork Documents

Apples iCloud only allows iWork documents to be saved online and to synchronize them with your iOS and Mac devices.

iOS application using synchronous downloads

Synchronous downloads allow to request data from the internet, wait until that data is received, and then move on to the next step in your application.
I will describe the process with some attached code. The code is both synchronous and blocking so the method will not return before the data is received.

- (SimpleKML *) getData: (NSURL *) url
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSURLResponse *response;
NSError *error;

success = NO;

SimpleKML* kmlData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error];

//if there is no kmlData the download failed
if (!kmlData)
[self log:@"Download error: %@", [error localizedFailureReason]];

if ((response.expectedContentLength == NSURLResponseUnknownLength) ||
(response.expectedContentLength < 0))
[self log:@"Download error."];

if (![response.suggestedFilename isEqualToString:url.path.lastPathComponent])
[self log:@"Name mismatch. Probably carrier error page"];

if (response.expectedContentLength != result.length)
[self log:@"Got %d bytes, expected %d", result.length, response.expectedContentLength];

success = YES;
[self log:@"Read %d bytes", result.length];
[result writeToFile:DEST_PATH atomically:YES];
[self log:@"Data written to file: %@.", DEST_PATH];
[self log:@"Response suggested file name: %@", response.suggestedFilename];
[self log:@"Elapsed time: %0.2f seconds.", [[NSDate date] timeIntervalSinceDate:startDate]];

return kmlData;

This call blocks until the request fails (returning nil and an error is produced) or the data finishes downloading. The several if clauses check if the response data contain any misleading or unwanted data which my come from downloading from the wrong website.

For using the simpleKML Library you need to download the framework from this github project.


Synchronous download in iOS application development

The download should happen synchronously because there is no need for the application to move on before the data which should be displayed is received. However, asynchronous downloads may be done in iOS version 5 there is no need for doing the download asynchronous.

Check Network Status when developing networked applications for iOS

When developing iOS applications which make use of the network connection you should always first check if there is any network available. If there is not the user should be warned with some kind of pop up or alert. If sending an application which does not check for an existing connection to apple it might get rejected by them. As stated above, when downloading large data it also might be of interest to know if the user uses the cellular or the wifi connection to determine which quality the download should have.

iTunes Affiliate Program

This problem was solved by the creation of iTunes-Affiliate-Links, that lead the listener automatically to the iTunes Store.

Firstly, the user has to join the iTunes-Affiliate Program of Apple ( After the registration, you will get the "Partner-ID" and the link to the "iTunes Link Maker"-Web page, where you can generate the specific links (see "Screenshot iTunes Link Maker").

Afterwards, the user can click on the Album, Artist or Song Link and a pop-up opens with the details. The customer can choose between a small and a big button or text only (see "Screenshot Linking"). Finally, the programmer has to insert the resulting HTML-Code into the website.

When a user clicks on the link, iTunes will open and navigate to the correct page. If the user doesn't have iTunes, the link will automatically take the user to an iTunes download page.

Installing Protégé on MacOs leopard

When I tried to install the Protégé editor on my MacOS leopard system from the following link, I was able to download it, but I couldn't open the install-file.

Problem with built-in Mac Book webcam iSight

The webcam seems to be active (red light is flashing) but it is neither possible to activate nor to deactivate the webcam. That implies that no webcam using application is able to use it, e.g. for a video conference with Skype. By trying to use the webcam via an application the statement "another program may have it in use" is prompted. I haven't figured out what causes this bug, but it can be solved by resetting the PRAM (parameter random-access memory) of your Mac Book.


Subscribe to Apple