Question for the developers (App Extensions for iOS 8)

markuswarren
markuswarren
Community Member

Hello,
I believe 1Password for iOS is going to have an App Extension for iOS 8.
I wonder if perhaps I can be somewhat rude and ask if the devs could provide a bit of info on how exactly they are code-signing the app and it's extension, and how the AppGroups have been setup to deal with this.

I know this isn't specifically related to 1Password, but I'm scratching my head in trying to figure out how you can code-sign an app and extension using a single provisioning profile, given that the bundleID's of the main app and the extension need to be unique, and you cannot use a wildcard AppID as that does not support AppGroups.

Comments

  • MikeT
    edited August 2014

    Hi @markuswarren,

    Have you read our blog post here, it talks about how this works: http://blog.agilebits.com/2014/08/04/filling-with-your-approval-on-1passwords-app-extension-and-ios-8-security/

    If you need more specific details, let me know, and I'll try to get these details for you.

  • markuswarren
    markuswarren
    Community Member

    It's more at technical level, as in, what options are set for code-signing identity in Xcode for the project.

  • I believe that you will have to register the extension bundle identifier in the portal. That would allow you to associate the group with both main app and the extension. After that you will be able to create a separate provisioning profile for the extension.

  • markuswarren
    markuswarren
    Community Member

    I have done that, the problem is, when I try and build using xcodebuild, it fails with a code signing error. You can only pass in one provisioning profile to xcodebuild, and in Xcode itself, you'd have two profiles and be able to select them, That is where my confusion comes from.

  • I am not sure. At the moment we are building in Xcode. Wouldn't you have two separate targets for xcodebuild, each with its own provisioning profile?

  • markuswarren
    markuswarren
    Community Member

    yes there are two targets, but I believe you need to build the App container and it then compiles the extension. I might try building the app and the extension separately using xcodebuild, then see if I can somehow package up the result

  • MikeT
    edited August 2014

    Hi @Markuswarren,

    Let us know how it turns out. I'd also suggest creating a thread at Apple's developer forums and/or radar. You might not be the only developer seeing this issue.

  • markuswarren
    markuswarren
    Community Member

    Thanks for all of your help. I have already created a thread at the dev forums, so we'll see what comes from that.

  • No problem. Hopefully, you'll get it figured out soon.

  • markuswarren
    markuswarren
    Community Member

    I have managed to get it working. It involves three profiles / AppID's. one for the main app, one for the extension and the third is a wildcard, which is the one I use with Xcodebuild. My assumption is that Apple doesn't really give too much thought to those needing / wanting to use a CI system (look at the lack of upload options for the new iOS8 beta system, all seems to have to be done manually through Xcode) and thus assume everyone will just use Xcode, which doesn't get into the situation with three profiles, you just need two.

  • That's great, I'm glad you figured it out. That's probably why we didn't see this issue, we always do things through Xcode.

    Thanks for sharing this with us!

  • markuswarren
    markuswarren
    Community Member

    More than happy to share, you never know, someone else may be wondering about the same thing.
    Very much looking forward to the new additions for the iOS 8 version of 1Password.

  • Yep, I'd suspect someone will find your workaround when they search for this, and they'll be happy.

This discussion has been closed.