Tag Archives: iphone

iOS6 Frustrations

I upgraded to iOS 6 yesterday and so far have been far from impressed. Here’s what’s irking me:

  • Passbook is unusable. I installed the iOS 6 compatible version of the United Airlines app, which clearly states Passbook support and yet Passbook only shows me the splash screen. On top of that, the App Store shows the Cannot Connect to iTunes error. Fixes aside, even with the United app I can’t get it to work.
  • Turn by turn navigation in Maps is rubbish. I had to drop off some stuff across the city last night, so I thought from my house to Embarcadero I’d use Maps to get me directions. It took me via the freeway which was odd to start, but as I drove city streets at like 15/20mph, it kept getting my location wrong and subsequently rerouting me to different routes. On top of that, if often jumped the gun and gave me the next turn before I had arrived at the current turn.
  • I’m not a fan of the new multi-colored status bar. It updates with all the apps and the Mail and System app seem jarring with the new colors. This one is just personal preference though, nothing functional.
  • I miss the YouTube app. I downloaded the Google one and it’s just not the same.

Okay, those are only four complaints, but the Maps one is really exceptionally frustrating.

Track of the Week: Take Me Out by Atomic Tom

I feel like an unwitting slave to a meme and a clever bit of marketing, but this week’s track is Take Me Out by Atomic Tom. This track stumbled across my path when watching the best of YouTube and the incredible video of Atomic Tom playing their entire song on iPhones meant I had to go over to give the band their due credit by purchasing their album. A fun rock/pop album, this song is probably the best. In some ways, I like the YouTube/iPhone version better than the album version. The raw sound of the YouTube track gives it an incredible texture. The actual album was recorded in an apartment, for which it has an amazing sound and spacing. I suggest giving this one a listen, to both versions. You’ll be rewarded with a great meme and a song to match.

New Year, New Job (Same Adobe!)

What’s a better way to start a new year than a new job? In January, I moved over from our AIR group, where I was doing iPhone stuff, to our Digital Home group, helping to bring Flash in to the Digital Home and connected living room segment.

I’ve had an amazing time working to bring AIR to the iPhone (and now the iPad!). It was a very unique opportunity to work within the company on a small, motivated, focused and talented team to bring out what was effectively a secret project and launch it at MAX. With the CS5 launch right around the corner, it’s super-exciting to see the technology ship in Flash (apparently our team is in the credits!) and get developers access to what we’ve been working on.

It’s a very exciting change and I’ve been having a blast these last three months working in the new team. We’ve been working hard to build out our strategy and get all the pieces in place to really execute and bring out a whole new set of TV experiences over the next few years. Having spent the last few weeks traveling and talking to customers it’s amazing what kind of innovation will happen in this space in the next few years. Hardware specs in TVs, Bluray Players, and set top boxes are growing rapidly which will enable content creators and developers to unlock the TV in ways we haven’t seen before. To give you some flavor of this, we’re seeing a quick move in the industry from 300MHz CPUs last year up to nearly GHz CPUs in the next 6-18 months.

So what is Adobe doing in the Digital Home space? Well, there’s some stuff that’s pretty obvious, some stuff we’ve shipped, and some stuff I can’t mention just yet. I’m lucky enough to be working with a team that has the first release under their belt which is a Flash Lite 3.1 based runtime optimized for TV-style devices. We’ve got a ton of customers building content and others shipping that content on their devices. As we go in to the year  we’ll see a lot more devices ship with Flash. Plus, we’re hard at work on the next version of our runtime and our software solution (hint: it’s a lot like we’ve done for mobile web browsing). But more details on that later!

BTW: I’ll be at NAB next week in Las Vegas if anybody is there and wants to chat about what Adobe is doing in this space. DM me @hyperionab. I’m also presenting at the theater in the Adobe booth Tuesday at 230pm in the Las Vegas Convention Center, giving a talk entitled “Extending the Adobe Flash Platform Across Screens”. It’ll also be on Adobe TV if you missed it and wanted to see it.

Debugging iPhone App Submissions

In December, I posted about how to debug iPhone code signing issues. We’ve had a ton of developers building apps and the submission process to Apple’s iTunes Connect is far from straightforward. Here are some tips on how to debug your iPhone app submission. Most of these are specific to the pre-release of Flash Pro CS5, but all the certs stuff should apply all the same.

  1. Export your Distribution P12. Make sure it has a private key and a public cert. Use openssl to verify (instructions below)
  2. Download your Distribution mobileprovision. Open it up and sure that it has the right App ID (search for the string <key>ApplicationIdentifierPrefix</key>)
  3. If you’re using Flash Pro CS5, ensure you’re on Beta 4 or higher.
  4. Publish your app for App Store
  5. Rename the IPA to ZIP and unzip. Keep the ZIP.
  6. Dump your codesign for the .APP that’s inside the unziped folder and make sure it matches your Distribution P12 (must have the line in the dump which says “Authority=iPhone Distribution”).
  7. Inside the unzipped folder, look for an embedded.mobileprovision. Make sure it’s the same exact file as the distro mobile provision you downloaded in step 2, just renamed.
  8. Verify the inside of your all looks roughly like this the image below.
  9. Upload your ZIP to iTunes Connect.

Here’s an example of what the inside of the .APP file should look like. Key things in here are for YourAppHere to include an embedded.mobileprovision, Default.png, Icon.png, Icon-Small.png and of course your app’s binary (YourAppHere). The rest should be automatically generated when your app is packaged. It’s also probably a good idea to keep your file name to letters and numbers.

Lastly, for debugging your p12, use:

abansodmbp:~ abansod$ openssl pkcs12 -in ~/Desktop/asdf.p12
Enter Import Password:
MAC verified OK
Bag Attributes
friendlyName: iPhone Distribution: Aditya Bansod (8HHA9BB65G)
localKeyID: E8 3C CF A0 3B 7F 77 C1 E8 89 96 2F B7 8F 0D E4 FD D3 B9 19
subject=/UID=PSLAU6FDD9/CN=iPhone: Aditya Bansod (8HHA9BB65G)/C=US
issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
Bag Attributes
friendlyName: Aditya Bansod
localKeyID: E8 3C CF A0 3B 7F 77 C1 E8 89 96 2F B7 8F 0D E4 FD C3 B9 19
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B2347A9F38B7303D
<SNIP>
-----END RSA PRIVATE KEY-----

Requesting Access To the Flash CS5 Beta

We’ve been posting in a few places how to get access to the Flash CS5 private beta program. This whole iPad thing has gotten people really excited, so folks have been emailing our [email protected] address in order to request access. Here’s a screenshot of my inbox getting flooded with the access requests. Much love to the Flash community!

Flash iPhone Apps and the iPad

If you were anywhere near tech news today, you probably noticed Apple announced the iPad. I don’t fully get it, but hey — they’re Apple and they’ll probably sell a few million of them.

The cool thing for iPhone developers is that their iPhone apps run out of the box on the iPad. The iPad is 1024×768 device that runs an “Apple A4” processor. What this means to iPhone developers is their UIs will be by default upscaled by 2x from their native 480×320 to 960×640. I’m going to assume there will be some unused areas of the screen since the aspect ratios don’t match up between the two devices.

The processor, an Apple A4 is a new beast that has no mention prior. I’m going to venture a guess here that it’s an ARM core, probably Cortex A8 or Cortex A9, built with some of the IP they acquired from P.A. Semi.

Since they’re running iPhone / iPod touch apps which are ARM binaries, it’s unlikely they’re running an emulation layer of any sort, and just running the apps straight on the A4 core.

What does this mean for Flash app built with the Packager for iPhone? It means more devices and faster processors! We’ll be working to ensure that our packager works to enable developers to target the new iPad device. Even today, apps that are already in the App Store built with the Flash Platform should be supported.

My colleague Michael Chou has posted additional information on the Flash Platform blog. Also, Christian Cantrell has posted a great article on authoring for multiple screen sizes that went live today.

Unlocking the iPhone for Flash Developers

I wrote a post for the Flash Platform Blog entitled Unlocking the iPhone for Flash Developers, which talks about the latest apps that have been built for the iPhone using a pre-release of our Packager for iPhone. I’m cross posting it here.

Over the weekend there was a great article in TechCrunch about the large number of Flash developers who are ramping up to deliver apps on the iPhone using Flash Platform tooling.

As you know, since we announced the Packager for iPhone at MAX, we’ve been running a small pre-release program for Flash Pro CS5. Adobe pre-releases give a small set of developers early access to builds of our tools (in this case Flash CS5) to test and to create content. Developers in our pre-release work closely with our product teams to give feedback and submit bugs. The fun part in the case of the Flash pre-release is the end product of working with our developers, they end up building and getting apps into Apple’s App Store.

We wanted to share a couple of the apps that were built by our pre-release developers that we thought would be interesting to our readers.

250x100_AL.png
Alchemist
Alchemist is an addictive puzzle that challenges player’s memory, reaction and logic. You are playing an apprentice who has to help his Alchemist master to test our secret formulas and find the one that produces the most gold.


Boost Your Brain
Are you smarter than your friends? Boost your Brain is a collection of fun and addicting games including logic puzzles, mental calculations and memory trainers.


iGevalt
iGevalt is a 3D dreidel simulator for Hanukkah. A dreidel is a four-sided spinning top, played with during the Jewish holiday of Hanukkah.

We’re starting to see our developers coming to the CS5 pre-release with existing web apps and games they have that they want to build for the iPhone. Our own Ted Patrick made his Sudoku game run as an AIR app and an iPhone app from the exact same code base. Want to do the same? If you have an app you want to build, shoot us a mail at [email protected] We’ve got a few spots open on the pre-release if you have a specific app you’d like to port.

iPhone Hardware Specs

I compiled this list from the internets on the hardware inside the various revs of the iPhone and iPod touch.

  • iPhone 8GB – Samsung S5L8900 (ARM11) 400 mhz
  • Touch 1st Gen: Samsung S5L8900 (ARM11) 400mhz (almost none of these exist)
  • iPhone 3G 8GB: Samsung S5L8900 (ARM11) 412 mhz
  • Touch 2nd Gen: Samsung S5L8900 (ARM11) 533mhz
  • iPhone 3GS: Samsung S5PC100 (Cortex A8) 600mhz
  • Touch 3rd Gen: Samsung S5PC100 (Cortex A8) 600mhz

General rule of thumb is the Touch is faster than the equivalent iPhone, and the latest gen of hardware has moved to the ARM Cortex architecture and a PowerVR SGX GPU (e.g. OpenGL ES 2.0). Also, the iPhone 8GB only sold (legally) in the states, although via black market channels it has shown up all over the world.

Debugging iPhone Code Signing

Code signing on the iPhone can be frustrating, and it gets even more frustrating when trying to submit an app to the App Store.

There are two forms of builds, deployment and distribution. You can use the codesign tool from Xcode to verify the signature in your app bundle to ensure they’re signed correctly. The part that is bolded is which certificate was used to sign the app.

abansodmbp:~ abansod$ codesign -dvvvv yourapp.app
Executable=/Users/abansod/yourapp.app/yourapp
Identifier=com.test.builtwithflash
Format=bundle with Mach-O thin (armv6)
CodeDirectory v=20001 size=43398 flags=0x0(none) hashes=2161+5 location=embedded
CDHash=928599f1a2a6db645a3bbaf17388775912933f38
Signature size=4283
Authority=iPhone Developer: Aditya Bansod
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=Nov 13, 2009 4:10:59 PM
Info.plist entries=19
Sealed Resources rules=5 files=7
Internal requirements count=0 size=12

In the above example you can see that it’s signed with my Developer cert. If the app isn’t signed with a developer cert it won’t run on your device. The same thing applies if you’re deploying to the app store. In that case, your app needs to be signed with your Deployment certificate, and you can use the same codesign tool to validate it’s signed with the correct cert.