Cannot sign iOS Application :(

  1. MyEclipse IDE > Mobile Tooling

This topic contains 9 replies, has 4 voices, and was last updated by  support-swapna 4 years, 3 months ago.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #465007 Reply

    Peter Byrne
    Participant

    Using version ‘2015 CI December 10, 2015’ on a Mac
    Using either embedded PhoneGap or v 5.3.9 runtime, I cannot sign an iosApplication (local build).

    The ‘Build’ phase is successful, but the signing just fails with cryptic errors πŸ™

    1. Certificates and keys I’m using (in Keychain access) are ALL managed by XCODE.
    2. Provisioning profile (a distribution profile) was created in Apple Developer Center and downloaded.
    3. I can sucessfully build, sign and deploy a NATIVE application (using XCODE) using the certificates above, so I don’t think there is anything wrong with them.
    4. Beacuse I want to use the certificates that XCODE manages, I export the cert and key to a .p12 file for use in myEclipse.
    5. I am sure myEclipse can access the .p12 file as it recognizes the password I have given the file during the export from Keychain. (The signing profiles are invalid if the password is messed up, so I’m sure it’s reading this file ok)
    6. If the file has a password, I get this error when attempting to sign (after a successful build) “java.security.InvalidKeyException: Illegal key size”
    7. If the file has been exported without a password, the error is “Error 1”. Nice !!!!!!
    8. I found these in the logs which are the stack traces corresponding to the two flavors of errors

    java.io.IOException: exception decrypting data – java.security.InvalidKeyException: Illegal key size
    at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(Unknown Source)
    at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)
    at java.security.KeyStore.load(KeyStore.java:1214)
    at com.genuitec.eclipse.mobile.common.signing.ApplicationSigner.extractAliasesFromP12(ApplicationSigner.java:251)
    at com.genuitec.eclipse.mobile.common.signing.ApplicationSigner.signApplication(ApplicationSigner.java:138)
    at com.genuitec.eclipse.mobile.phonegap.core.build.PhonegapLocalBuildJob.run(PhonegapLocalBuildJob.java:183)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

    java.lang.RuntimeException: Error 1
    at com.genuitec.eclipse.mobile.common.utils.RunExternalProgram.execute(RunExternalProgram.java:65)
    at com.genuitec.eclipse.mobile.common.signing.ApplicationSigner.signApplication(ApplicationSigner.java:115)
    at com.genuitec.eclipse.mobile.phonegap.core.build.PhonegapLocalBuildJob.run(PhonegapLocalBuildJob.java:195)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

    In either case, this is at the ‘bottom’ of the console output :

    ** BUILD SUCCEEDED **
    Command finished with error code 0: /Users/*myUserIdInHere*/Bitbucket-Repositories/hellocontacts/HelloContacts/platforms/ios/cordova/build –debug,–device
    completed ‘cordova build ios –debug –verbose –device’
    signing application.

    then is just craps out with the error !! πŸ™

    One other ‘fishy’ looking thing (The permission denied thing) at the top of the console (when the build starts) is :

    Build of HelloContacts started for ios
    executing ‘cordova platform add ios’…
    Creating ios project…
    Installing “org.apache.cordova.contacts” for ios
    Installing “org.apache.cordova.file” for ios
    execvp(): Permission denied
    completed ‘cordova platform add ios’
    executing ‘cordova build ios –debug –verbose –device’…
    Running command: /Users/peterbyrne/Bitbucket-Repositories/hellocontacts/HelloContacts/hooks/before_build/androidmanifestmapper.js /Users/peterbyrne/Bitbucket-Repositories/hellocontacts/HelloContacts
    It’s saved!

    I have no clue what’s going on here, and must admit to getting frustrated with my inability to build what is nothing other than a ‘HelloWorld’ proof of concept application.
    If anyone has any clues for me, I’d be most grateful.

    Thanks
    Peter.

    #465044 Reply

    support-swapna
    Moderator

    Peter,

    Sorry that you are seeing this issue. I have escalated it to the dev team for further investigation. They will get back to you soon.

    Thank you for your patience.

    –Swapna
    MyEclipse Support

    #470334 Reply

    Peter Byrne
    Participant

    Swapna,

    Thanks for the reply.
    Haven’t received any other tips so I’m stuck πŸ™

    I’m disappointed actually. I really wanted to use myEclipse, but now I really have to reconsider my measly little $70 subscription, as what I want this product for simply doesn’t work.

    This is a good IDE but doesn’t work as advertised for my requirements.
    My simple test is to build and install a Hello World on both Android / iOS . I need to see if the tooling in the product actually does what it says it does. Nope. I can’t get it to work (Android is fine btw).

    I’m going to look at some other products. πŸ™‚
    I had a look at the Intel XDK. It has a huge advantage over myEclipse for Mobile app development, because that’s all it does. πŸ™‚ But you know what? It works out of the box. πŸ™‚ The proof of concept that I’ve been struggling with in myEclipse for weeks was done in 2 hours… That’s what I want. I need to be thinking about my app, not why the tooling of the IDE doesn’t work.

    The documentation / comments in the XDK and the sample code are unbelievably good.
    If they actually charged for the product, I’d buy it, but it’s free.. πŸ™‚

    I’m hoping perhaps at least one other dev dude out there has actually been able to successfully get this signing thing (iOS) to work. Perhaps if I just got a ‘hint’ πŸ™‚ that this is doable in myEclipse I might try and pursue it.

    Barring that, I’ll just go somewhere else.
    Good luck with the product Swapna

    Peter.

    #470784 Reply

    Brian Fernandes
    Moderator

    Peter,

    Apologies for the delayed response and I’m sorry you had a disappointing experience with MyEclipse.

    The problem with this tooling, as you experienced first hand, is that it depends heavily on a number of external factors; for local iOS building on OS X, your XCode environment (version, settings, etc.) are important. With Android, it’s the version of the Android SDK installed. Of course, it naturally depends on the version of PhoneGap you’re using (if you choose to use an external version of PhoneGap), and if you build remotely, it’s dependent on Adeobe’s PhoneGap build service.

    Of course, this is a bug in the product, and we’ve tried our best to have the tooling work with as many external configurations as possible, but sometimes it just won’t work, as in your case.

    In MyEclipse 2016 we’ll be taking a new approach to supporting Mobile development, clearly the current approach isn’t as robust as it needs to be. While MyEclipse failed to ultimately build your application, we do work hard on allied tooling, like JavaScript, debuggers and even GapDebug which will allow you to debug directly on device.

    We’re appreciative of the constructive feedback, despite your experience with MyEclipse, and hope you’ll give MyEclipse a chance again. MyEclipse 2016 CI 0 does not include any mobile tooling, but we will have a solution developed when we release MyEclipse 2016 Stable 1.0.

    #470825 Reply

    Peter Byrne
    Participant

    Hey Brian,

    Thanks for the thoughtful and honest response.
    Yes, this has been frustrating for me, so I can just imagine what it’s like for you guys !!

    The idea of local builds, and the way myEclipse has been architected to plug into external dependencies (XCode, Android SDK) is a noble idea, but it’s just too fragile.
    In frustration, I even went down the Visual Studio route, with it’s Mobile tooling as they take a different tack, (and assume you’re a complete idiot and include the
    Andriod SDK as part of the tooling. What a mess. I didn’t even get into the iOS complications …) That whole experiment was a total fail !!!

    Perhaps remote builds are the way to go with this, I don’t know. That’s how I was able to so quickly build and deploy something using the Intel XDK.
    I just would like to have the ability to do this locally as well. I’ll most likely do a deep dive into the CLI (Cordova) and actually try and get this to work still πŸ™‚

    Yes, I appreciate the GapDebug stuff and all the debugging functionality you have. That’s why I wanted this to work πŸ™‚

    You’ve earned my subscription for another year, simply by taking the time to respond to me.
    Let’s see what happens in 2016 πŸ™‚

    Thanks Brian
    Peter.

    #470898 Reply

    Paul_paul
    Participant

    Hi Peter,
    I have been successfully designing apps with MobiOne and building remotely using MyEclipse and Phonegap with very few problems at all. I did notice that you say Xcode is managing your certificates, I don’t know much about Xcode but I thought it only managed development certs, perhaps you need a development provisioning profile to sign your app. I dunno, just a thought. Perhaps I can help you out. my email is stickleback at outlook.com.au

    #470901 Reply

    Peter Byrne
    Participant

    Thanks Paul,

    Yep, the remote build thing is not a problem for me either. It’s if I want to build and sign ‘locally’ that I’m having grief πŸ™
    Why do I want to build locally when there are all these cool cloud build server things going on? Just a control freak I guess πŸ™‚
    And being a geek at heart, I really want to try and understand what’s actually going on …..

    Local builds and deploys for Android are fine.
    Local builds for iOS are fine, but will croak during the signing.

    Yes, I thought that perhaps the certificate thing was the problem as well, but I’m sure it’s not.

    A Team Provisioning Profile will allow me to use a Developer Cert and deploy to my iPad using XCODE. (and I can do that no drama there).
    If I want to build (an ipa file) and sign it so that it can be deployed via iTunes (local) or whatever, I need an AdHoc Provisioning Profile (that actually identifies my iPad as
    legit device). With that profile I need to use a ‘Distribution Cert’. (and I can do that no drama too)
    I’m pretty happy I have my head around all this Apple mumbo jumbo now πŸ™‚

    The grief I’ve had with myEclipse (which I really like for other dev work btw) has made me look at simple CLI Cordova development.
    That’s really where I’m heading.

    I have the latest Cordova ( 6 ?? ) on my Mac and can build, sign, deploy whatever I want : iOS or Android (Of course, XCODE is required as well and the Andriod SDK (via Android Studio)
    I’m starting to think now that I was making this way more complicated than it needed to be.

    Sure I can use GapDebug, etc etc for debugging if I need, but the tooling I need to actually get something built and deployed ‘just works’ with CLI.

    So maybe I’ll just turn into a NotePad/TextEdit/CLI guy !!!!!!!

    Thanks for the offer to help me.
    Nice to hear from a fellow Aussie ???

    I’m over here in the States (Portland Or), but that’s probably too much information on a Genuitec Forum… πŸ™‚

    See ya Paul
    Peter.

    #471099 Reply

    Brian Fernandes
    Moderator

    Yep, the remote build thing is not a problem for me either. It’s if I want to build and sign β€˜locally’ that I’m having grief πŸ™
    Why do I want to build locally when there are all these cool cloud build server things going on? Just a control freak I guess πŸ™‚

    I totally understand what you mean about wanting to build locally – been there, done (and still doing) some of that myself πŸ™‚
    It’s good to know that the remote build did work for you – given what you’ve said about XDK, I wonder if you’d have a better opinion (and experience) of MyEclipse if we simply did not have a local build option at all and just forced you to use remote build?

    The grief I’ve had with myEclipse (which I really like for other dev work btw) has made me look at simple CLI Cordova development.
    That’s really where I’m heading.

    Glad you like MyEclipse for the other bits, and, interesting thoughts on the CLI – that just might be the direction in which we head for Mobile support. MyEclipse 2016 already includes an integrated terminal view allowing you to use a local console from within MyEclipse (it’s just that for now).

    #471665 Reply

    Peter Byrne
    Participant

    Hey Brian,

    Yep, I’m thinking the simpler the better.
    Take one extreme – Visual Studio – and attempting to bundle EVERYTHING with VS to do local builds. Total train wreck. I’ve tried.
    Middle of the road – MyEclipse – Use preexisting SDK’s (Android Studio or just the SDK on it’s own), Xcode etc and try and make them work together. Andriod? yes. iOs? train wreck πŸ™
    I do see that PhoneGap runtime is included, but you try at least allow us to use an external version if we want. Still a sort of train wreck though.
    Take the other extreme – Intel XDK. ‘Don’t bother with local builds because it’s too hard’ Works like a dream πŸ™‚

    I’m thinking half the battle here is simply setting the customers expectations, so I would blow the whole local build thing totally off !!!! πŸ™‚
    It’s simple to do the builds using the CLI.

    You certainly would not lose my business because you’re honest that this functionality is flaky and so we won’t even try to do it. I’ll buy the IDE for all the other cool stuff. πŸ™‚

    If you could architect a solution where you could create a project ‘over the top’ of an existing Cordova project (with clobbering anything in config.xml and all that jazz) then you would be
    on to something (at least in my opinion).

    See ya Brian
    Peter.

    #490951 Reply

    support-swapna
    Moderator

    Peter,

    MyEclipse 2016 Stable 1.0 release is now out.

    Please check this announcement about PhoneGap support in MyEclipse 2016 : https://www.genuitec.com/forums/topic/phonegap-support-in-myeclipse-2016/

    Refer to the Migration guide linked at the end of the announcement to migrate your PhoneGap project from MyEclipse 2015 into MyEclipse 2016 and continue development using the PhoneGap CLI.

    You can download the MyEclipse 2016 Stable 1.0 installer from here : https://www.genuitec.com/products/myeclipse/download/

    Please install MyEclipse 2016 to a different location alongside your existing MyEclipse installation and use your current license which is valid for MyEclipse 2016 as well.

    Thank you for your patience.Let us know if you have any questions or if you see any issues.

    –Swapna
    MyEclipse Support

Viewing 10 posts - 1 through 10 (of 10 total)
Reply To: Cannot sign iOS Application :(

You must be logged in to post in the forum log in