Apple have upgraded a number of the internals in the latest iPhone release, including the camera, the lens system, the processor, and a new dual band, intelligent switching antenna design supporting HSPA+ .
If you are a developer with an app in the Mac App Store, then you have probably come across this Apple rule:
Application executables may support either or both of the Intel architectures:
Other architectures may not be included in submitted binaries.
No problem says you. However, until recently, Apple did not check things like dylibs contained within your app bundle. They do now.
This means that you must make sure that any 3rd party components you have imported to your project are stripped of any old PPC remnants or they will fail validation and be rejected within 5 minutes of submission (seems like they have automated these checks).
So how do we do this? Simple enough, but it requires and extra step after building the archive.
- First to be safe, you should check your target build settings to ensure that your target architectures are set to i386 and x86_64. So first click on the Project in XCode, then select the target:
Then, under the ‘Build Settings’ tab look at the ‘Valid Architectures’ and check that it looks like this:
- Then, as normal, build the product for Archive
- The Organser window should open automatically when done. At this point, we’re interested in finding the .app bundle. Where is it? Lets see… Right click on the archive, and select ‘Show In Finder’
- The xcarchive location will be shown. Right click and ‘Show Package Contents’
- Inside here, browse to Products/Users/NAME/Applications/ to see your .app bundleThis is the .app bundle we need to strip non x86 or 64 parts from before signing and submitting to Apple. To do this we can use something like TrimTheFat, by dragging the .app bundle into it’s window and deleting the resulting Jelly SMS Lite-U.app (as it’s not needed any more).Or alternatively, we can run the following command on the .app bundle.
ditto --rsrc --arch i386 --arch x86_64 MyApp.app build/MyApp.app
(from Apple Dev Forums)
If anyone knows of a way this command can be automatically run during the archive or build process (possibly during a build step maybe??), please let us know in the comments below…
[Update] Important: I forgot to mention – you should launch your .app at this stage to test if you’ve actually stripped out something that your app depends on. If so, you will get a crash here. In this case you will need to look at your project more closely and remove the code/parts causing the exceptions.
Now you can simply submit your archive as before and the nasty stuff should all be gone from it and you will once again be in Apple’s good books.
Apple yesterday announced that they are bringing an App Store to the Mac. Coming in 3 months, the Mac App Store will be available to existing Snow Leopard users, allowing them to quickly browse the market, read reviews, view screenshots and purchase both free and paid apps.
The system will be very similar to the iOS App Store but will lead to a fundamental change in the way desktop users source their applications.
Here are some of the key points:
One of the main problems for me when I moved from Windows to Mac about 6 years ago, was “where do I find software?”. Even to this day, it can be daunting trying to find an image manipulation program that works for my needs. When the app store comes along, I’ll be able to find that program in 3 clicks, read reviews, and download it if I like it. Google is great for search, but it’s not that great as a store front.
For developers, this opens up a new revenue stream. Ok, we will now be keeping 70%, and giving 30% of sales to Apple, as opposed to keeping 100% before. If you can’t deal with that, then stay away from the Apple model. Stick with your website or CD distribution methods. Or maybe sell it on both, while charging a slight premium for the App Store version to make up for the lost 30%. At the end of the day, you will get more eyeballs on your product and this can only be a good thing.
Also, for small developers like myself, who have relied on donations to keep projects running, I now have an option to charge a small fee for an app, without having to set up any payment system, dealing with refunds, setting up DRM, etc etc…
I know a small portion of nerds don’t want this to happen, and may abondon the Mac because of it. Maybe they feel like they are losing control of the Mac. I don’t think so.
For the vast majority of normal users, this is good. This bridges the gap between developers and users, and I for one, welcome our new app store overlords.
With the launch of iTunes 10, Apple has launched it’s first social network aimed toward music lovers. They call it “Ping”. Continue reading
Then check out iOS Beta Builder… Continue reading
Announced at WWDC 2010 by Steve Jobs today and making it’s way to Ireland in July, is the new iPhone 4. Continue reading
I’m really liking the way this is going. Continue reading