How to create Deployment package for iOS using Marmalade - ios

I am using Windows7 and Marmalade 5.1.10. I tried to create deployment package for iOS but it is giving error of certificate not found at particular location. I checked in that location and there is one .cer file presents. I installed that certificate under trusted root authorities store. Still I am getting same error. Then I copied that and renamed .cer file to AppleWWDRCA.cer file as per given in error message. After that it is giving me error:
"Signing error: Can't find your developer signing private key at C:\Marmalade\5.1\s3e\deploy\plugins\iphone\certificates\developer_identity.key".
Let me know how to resolve this issue.
Note that I dont have Apple ID created for iOS developper.
Please share your input on this.
What if I just want to test with iPhone simuulator? I tried following:
I created my simple demo application. Then I created package for iPhone on my Windows PC. While creating package I selected option "Do Not Sign". I got success with that. Then I transfered .app to my MacMini. I copied .app to XCode in appropriate folder of Application. Then I started iPhone Simulator and I can see my application. But when I click on that it is not opening.
So now let me know what can be issue. Is it due to certificate issue or due to selected option "Do Not Sign"?
Please treat this as little bit urgent.
Thank you very much in advance for your inputs.
Regards,
Premal Panchal

There is a detailed description of how to create the necessary certificate files in the Marmalade Documentation help file, installed as part of the SDK. You can find it here:-
Marmalade->Platform Guides->iOS Guide (for iPhone, iPad, iPod)->iOS Requirements and Setup Guide
When you say you don't have an Apple ID created for iOS Developer do you mean you haven't signed up to the iOS Developer Program? If so, then you won't be able to generate a signed build at all.
Regarding testing with the iPhone simulator, I don't think that this is possible. If it is possible you will probably need to have a signed app. I believe the reason XCode can run in the iPhone Simulator even without valid developer certificates is that it is doing it's own signing of the generated app behind the scenes.

Related

iOS app upload to iTunes Connect results in Invalid Signature issue

I'm working on a hybrid mobile app project (Ionic framework) and releasing to Android, iOS and web. This issue concerns only releasing the application on iOS.
I ran into an issue whereby I suddenly started getting the following email from iTunes Connect after building, archiving and uploading my iOS app to App Store from Xcode.
App Store Connect: Your app "YourAppName" (Apple ID: XXXXXXXXXX) has
one or more issues
Dear Developer,
We identified one or more issues with a recent delivery for your app,
"YourAppName". Please correct the following issues, then upload again.
Invalid Signature - A sealed resource is missing or invalid. The file
at path [YourAppName.app/YourAppName] is not properly signed. Make sure you
have signed your application with a distribution certificate, not an
ad hoc certificate or a development certificate. Verify that the code
signing settings in Xcode are correct at the target level (which
override any values at the project level). Additionally, make sure the
bundle you are uploading was built using a Release target in Xcode,
not a Simulator target. If you are certain your code signing settings
are correct, choose "Clean All" in Xcode, delete the "build" directory
in the Finder, and rebuild your release target. For more information,
please consult
https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html
Best regards,
The App Store Team
I tried everything I could find on the internet regarding this issue:
Checking over my certificates, provisioning profiles, recreating them, updating Xcode, building the project again, made sure I'm using a distribution certificate not an ad-hoc certificate, verified the code signing settings in Xcode were correct, verified the bundle was built using the Release target, tried the "Clean All" option, deleted the "build" directory in the finder and rebuilt the release. In short - I tried everything I could find by Apple regarding this issue, also looked up the same issue in StackOverflow and tried a huge variety of the recommended solutions. I tried all of those options multiple times over to make sure I didn't miss anything.
Nothing worked...
Also a note that I was able to upload to App Store without any problems before. There hasn't been any changes to the project which could result in this Invalid Signature issue arising - no certificates have expired, no new ones have been created, no new provisioning profiles have been created. The same profiles and certificates were used which worked just fine some time ago. iTunes Connect just suddenly started responding with this issue.
What else can I try?
I was sceptical at first when I tried this solution but this actually solved my issue.
Find a spare USB stick or an external hard drive.
If your Mac's filesystem is APFS format the external volume using a HPFS Mac OS Extended (Journaled) file system. Move your project over to the freshly formatted HPFS external volume and rebuild it over there. This is important as if you build it on your Mac's APFS volume and then move it over to your HPFS external volume to archive and upload in Xcode this will not work!
The project needs to be built, signed, archived and uploaded ON the HPFS volume.
The uploading to App Store should now work again. It worked for me, hope it works for you as well.
See more information on the solution here

Deploy Xamarin App to iOS Device

I can deploy my Xamarin Forms app to an iOS simulator with no problem but now I would like to deploy to a device.
I have followed the instructions to do this here:
https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/
I get to the point where I create a provisioning profile and download the .mobileprovision file, then I open the file and it opens with xcode but I get no confirmation that the file has been imported.
On a windows machine with visual studio, I try to deploy my app to a device I get the following error:
When I look for the provisioning profile in XCode there doesn't appear to be one, despite importing the provision file:
Does anyone have any idea what might have gone wrong here?
I've got this working now and I'm posting an answer because I think there are a couple of things that the Xamarin instructions don't make very clear.
The first issue is that the device you want to deploy your app onto must be attached to you apple device. It won't copy the assemblies to a windows development machine and deploy from there.
The second is that you have to supply an identifier in the iOS project properties, iOS Application tab, and the identifier must match what was specified in your App Id profile.
I hope this helps others out.

Having trouble deploying ad hoc testing version of iOS app

I'm new to iOS development and I'm having a bit of an issue deploying something for my client to test. I am using XCode v4.3.2. I was given an xcode project, and asked to make some minor coding changes, mainly to get my feet wet. I made the changes, compiled the app, ran it in the emulator, it worked fine. I tethered my iPhone to the macbook and followed apple's instructions to set up my phone as the dev phone, ran it from the phone, no problems.
Now the part I need help with. The company has a development license with Apple. They sent me an invite through Apple, which I accepted, which generated an Apple dev license for me. The project I took over had a bunch of code signing keys associated with it, that were all expired, so I switched over the keys to the one that was generated for me. I archived the project, and then saved it for adhoc/enterprise, which generated a .ipa file. They tried to load the ipa onto an iPod Touch (which the project has previously worked on) and it generated an error saying that it didnt have entitlements.
I checked Stackoverflow and found an article that stated how to add entitlements, so I followed them, and now in Code Signing Entitlements (in the Build Settings) it says : [ProjectName].entitlements (where the [ProjectName] is the actual project name :) ). I reaarchived and sent to her, and she tried to load the new .ipa. Now on the sync, she gets "not installed on ipod because an unknown error occurred (0xE8003FFE)".
This is driving me nuts... what am I doing wrong? I have the device ID for her iPod, just in case, do I have to set up some specific "thing" for her as an adhoc tester? I figured it would just work.... Please help!
I would suggest you have a look at
https://testflightapp.com/
It is an easier way to distribute builds to your clients and testers.
I use it regularly and it saves a lot of headache...
We use hockeyapp.net with great success. We've been using this for quite some time and our clients love the simplicity of OTA beta distributions.
Another company worth investigating is www.appblade.com. If you want a solution that blends iOS with Android and other platforms it works well. Testflight has been migrated into iTunes Connect.

Error in getting provisioning certificate for iOS development

I want to test my iOS application on iPad. For this I have created developer certificate,App ID and Device ID on Apple Portal. After that I have created Provisioning profile on portal.It is activated and I can see download button. When I click on download it is giving me error of Failed Download.
Note that for signing and creating .csr I have used Marmalade signing tool as I am developing applicaton using Marmalade. Also I am using Windows 7 for development.
Please let me know what can be issue.
Regards,
Premal
It is a pretty old question, but another developer might fall in the same error.
The basic steps you need are:
generating a .csr file, using Marmalade Code Sign Request tool
Inside Apple developer panel, create two certificates (.cer): One for development, one for distribution
register your iOS device with its UDID in the Apple Developer panel
Also in Apple Developer panel, create two provisioning profiles (.mobileprovision): One for development, one for distribution, associated to your certificate (.cer), and your devices (UDID).
Inside Marmalade's .mkb file, include the recently created .mobileprovision like this:
iphone-provisioning-profile='data/myprofile.mobileprovision'
Hope it helps!
Maybe it is a browser issue? Just in case, check out this tutorial which walks you through the complete iOS signing and deployment using Marmalade http://www.drmop.com/index.php/2011/12/10/marmalade-sdk-tutorial-apple-iphone-and-ipad-deployment-and-submissions/. If you follow this then you should have no problems.

XCode 4.3 code signing errors

Before Xcode 4.3, I used this method to submit applications to the app store:
-- Compile the application with the appropriate signing certificate which was configured inside the application's build settings
-- Distribute the application into the app store or clients using Xcode's built in submission process. When I was asked to select the signing certificate with which to sign the app, I always selected "Don't Resign".
However, the "Don't Resign" option does not exist in Xcode 4.3. Therefore, my application is resigned, and I always end up with an error saying that the code sign verification failed.
Is there any way around this problem?
I have found out that the compilation errors about code signing are due to a bug in Xcode 4.3. As many other have pointed out in Apple's developer forums, and myself, there are many cases where Xcode will complain about code signing your application if your application contains an image bundle! So, I remove the bundle with the images, and re-imported the images as separate files. I was able to compile the application for Ad Hoc this way, whereas it wouldn't compile with the bundle.
Also, as far as "Don't Resign" is concerned, I noticed that even if the application is already code signed in another step, Xcode 4.3 became smart enough to not re-sign the application with the same certificate, even if it appears to not give you the chance to not to! That's what I have verified with Ad Hoc builds. I will soon try that with production builds.
So, Xcode 4.3 became smarter in one way, and dumber into the other. Apple needs to fix this problem with the bundles, SOON!
Yes, there is a way. Before it used to default to whatever code sign it could find and auto-embed it into your apps. Right now its bugged.
To solve it, you would have to go through the steps of obtaining a new certificate and its private/public key. 3 step process:
Make sure you completely delete your old certs and keys by going to Applications > Utilities > Keychain Access. Then Deleting the certificates and private keys associated with your Developer account.
After deleting all that info head Here to generate a new certificate for your app. Download and import to your login keychain
3.In Xcode open your project. Head to your root project folder > targets > build settings and attach the new correct certificates to code sign your app correctly.
If you are unsure about the code-signing process. Either go here or go to the dev provisioning profile under distribution you have some (REALLY OUTDATED) examples to point your way

Resources