Using provision profile for Lite version of App - iphone

I've released an app and now i'm planning to release a Lite version of the app. So i copied and pasted the project folder in Documents - Xcode Projects, and the renamed it Lite. I've amended the relevant code and can run it in the simulator, but as soon as i come to put it on an actual device it says errors like A valid provisioning profile for this executable was not found. and various others. Does anyone have a quick bit of advice about developing a second app and what provisioning profiles to use for it or what would someone do in my situation (having essentially duplicated a Xcode project folder - did that cause a mess?)
Thanks

You need a new provisioning profile since each application is unique. If you right click on your project in the left sidebar and select get info after downloading and opening your new provisioning profile, you can select the new one.

Every application (and device) requires its own provisioning profile to run on an iDevice. You'll have to go thru the process again to get a provisioning profile for your lite app.

Related

Error when trying to launchIOSDevice using NetBeans Gluon Plugin / Apple Free Provisioning

I've successfully run a simple Gluon application using NetBeans 8.1, Gluon plugin, javafxports 1.0.7, Mac OS X 10.11.1, Xcode 7 using Gluon Mobile - Single View Project. When I try to run on my connected iPhone 6 using launch | launchIOSDevice, however, I'm having errors with the provisioning. Error message is Execution failed for task ':createIpa'.
No signing identity found matching '/(?i)iPhone Developer|iOS Development/'
I setup an identically named project on Xcode and ran it on my connected device. I verified that I have Provisioning Profiles and Signing Identities defined for my project (Xcode | Preferences | Accounts). I verified that the Xcode project Bundle identifier is the same as the ios CFBundleIdentifier as defined in the Default-info.pllist file. I tried defining ios properties iosProvisioninProfile and iosSignIdentity in the build.gradle file. This gave different error messages, but the build still failed.
Has anyone successfully run a NetBeans/Gluon-Mobile app using Apple's Free Provisioning on a connected IOS device? I'm sure I'm doing something wrong, but need help figuring it out!
Thanks in advance!
I didn't try it with a free provisioning profile. I did it with an apple developer account, but here are the steps I've taken maybe it can help you:
Get accepted as an apple developer (not your case)
Go to XCode, click code->preferences
Go to the accounts tab
click the plus button to add an account. Add your account.
Click file->new project->single view application
Put whatever product name and organization identifier (it doesn't matter)
Choose whatever place you want to store the project
For any issue that arises like "no non-expired provisioning profiles were found", click fix issue.
Connect ios device and run app.
start gluon ios gradle task (for instance 'launchIOSDevice')
It will take a lot of time the first time. In the end it may give you a java.lang.OutOfMemoryError. Put in your gradle JVM settings: '-Xmx2000M'.
Start ios gradle task again.
You can also check: http://docs.robovm.com/getting-started/provisioning.html#limitations for free provisioning advise, but you probably already have.
You can use a free provisioning account. You just need to add a couple of lines to the build.gradle file in the iOS settings:
iosProvisioningProfile = 'xxxx'
iosSignIdentity = 'yyyy'
The ProvisioningProfile is the file name of the provisioning provisioning profile you created in xCode. Just right click, and choose "Show in Finder". Just copy the file name (you don't need to copy the "mobileprovision" extension.
The SignIdentity (yyyy) you can get with by opening a terminal and entering the following command:
security find-identity -v -p code signing
Look for the line that contains "iPhone Developer: " line and copy everything in the quotes
You need a apple developer account (the free variant works fine). Then you create a xCode project that matches your Gluon project so that:
Product Name in your xCode project is the same as your Gluon project's Project Name
and...
Organization Identifier is the same as as your Gluon project's Package Name
Then it should work fine. I have made this in Eclipse and later in Netbeans - and it have worked in both places.
Edit: By using this way however you have resign your app (around every 24h) - which means opening the project (that you created before that is being similar to your Gluon project) - letting xCode revalidate the project with your developer id. If you do not do this you will experience that your app doesn't open, (but it will be shown/exist among other opened apps - when you double tap the home button on iPhone).

Ad hoc distribution: App failed to install

I have created an ad hoc archive and a .ipa file for the application I am trying to distribute. I have also created a distributing provisioning profile with the UDIDs of the devices that I plan on distributing my application to. When I drag the .ipa and .mobileprovision files into iTunes and try to sync the application to the device, an error message on the phone pops up reading "'myapp' failed to install". By the way, I have a standard iOS developer's license ($99 per year) and am using Xcode version 4.2.1. I am pretty new to the developer program, so please try to keep your answers as simple as possible. Let me know if you need any extra information. Thank you!
I had the exact same issue. My issue was simple to fix. Check your Code Signing Identities for Project & Target in your project Build Settings. Mine were pointing to my Development Profile.
The Code Signing Identities need to point to the Ad hoc Distribution Profile that you created.
Make this change and then recreate the Archive and .ipa file. I then deleted the old App in iTunes, and then dragged the .ipa file onto the iTunes icon (Windows). Then I was able to use iTunes to install the App successfully.
My problem seemed to be Xcode. I had multiple copies of the Ad_Hoc profile with different expirations (all valid) and a few with different names from the days. I deleted them all and the app still failed to install, but I noticed all the Ad_Hoc profiles had been resurrected by iTunes. Tried it several times and including deleting them from the Organizer, but they always resurrected (reappeared installed on the device). Finally I drug out a copy of the supposedly extinct iPhone Configuration utility and used it to delete the app and all Ad_Hoc profiles. Then tried to install just the profile. That got it down to 2. Finally got all deleted and got iTunes to install the right profile. Still took 2 more attempts for iTunes to finally install my archive file!
Check this .
Don't need to drag both .ipa and Provisioning Profile.
Just Drag the .IPA File Follow Further steps as you.
Set install owner param in Xcode project / Deployment to the name you specified in apple dev license. I set both install owner and alternative install owner and Install Group and Alternative Install Group to my name which the 100% exactly as in my apple development license.
And the error was gone.
I was having a similar issue where my project was stored on a secondary NTFS drive. After moving the project over to my desktop [aka MacOS Extended (Journaled) drive], I was able to load the ipa file via itunes.
Another point: If the store version of the app installed on your device (or a version deployed another provision), you have to remove it from your device before installing the ad-hoc version.
I solved the issue by not trying to sync with iTunes but instead to sync it within Xcode (from the window->devices menu)

A valid provisioning profile for this executable was not found for debug mode

I am getting this error while I am trying to debug my app on device.
I created development provisioning profile as it is mentioned at the developer portal. My development device is selected in the profile and I am selecting the correct profile from Target's code signing identity menu. I recreated provisioning profile for several times and also removed and reinstalled it and recreated the project but I am getting that whenever I try to debug on device.
Btw, the adhoc distribution provision profile works.
I spent my whole day to find out a solution but nothing. Anyone have a solution?
It could be because your iphone is not recognized by the provisioning portal.
Solution:
In Xcode, Goto --> Build --> clean all targets.
In "Groups & Files" -->Target --> expand it --> right click your app and select Clean "your app"
Goto->Window-->Organizer
In the Devices tab on the left, select your iphone
In the Provisioning section of the selected iphone delete all the current profiles (if any)
Unplug your iPhone and replug it in.
Goto->Window-->Organizer-->right click your iPhone -->Add device to provisioning portal
Now make sure you have selected the appropriate code signing identity in edit project settings -> build --> code signing
Build and run.
In Xcode 10, I solved this by switching the project's build system from "new build system" to "legacy build system" (File -> project Settings).
I had the same problem. Everything was ok:
the device was registered in IOS Provisioning Portal; the certificate was downloaded and the Development Provisioning Profiles for my app was downloaded.
So the solution!!!
Target> Get Info
Select Configuration to Release (here's the devil)
In code signing, Code Signing Identity check iPhone Developer. Close.
On Target chose Clean Target and then Run the app.
Good Luck.
In my case this was because there where a couple of versions of the developer certificate in the keychain.
Deleting the iPhone Developer cert from both My Certificates and Certificates and then downloading the latest one from the dev centre and installing that (double click on the .cer file)
sorted my problem
Finally i could solve the problem. One of my colleagues has revoked the developer certificate at iOS Provisioning Portal for his test apps. for fixing; i removed the existing developer certificate at my keychain, requested a new certificate with the existing private key, revoked the certificate from provisioning portal and submitted the newly requested certificate.then i downloaded and installed it.
now i can debug my app on my device :)
This caught me out because someone had changed the "Run" configuration's "Build Configuration" setting to "Release" (under "Product" > "Edit Scheme.." > "Run *.app").
This is normally set to "Debug" and hence it was NOT using the developer certificate and provisioning profile that I was expecting, it was using the distribution certificates instead.
In addition to this I found that if you look in the Console Log for the device (via Organiser), there may be an error code that better indicates your problem. For example I had...
Mon Sep 5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012
I then googled "0xe8008012" and got the following page which indicates a "0xE8008012 - The UUID of the device does not match any in the Provisioning Profile being loaded" error.
MobileInstallation
Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing : Make sure that both Debug and Any iOS SDK are set to iPhone Development
Xcode -> Product -> Scheme -> Edit Scheme: Make sure Build Configuration is set to Debug.
I had the same issue with Xcode 10.0 beta 5 (10L221o) and a device running iOS 12.0 (16A5345f) - that's also beta.
After installing the app alert titled "App installation failed" showed up, "A valid provisioning profile for this executable was not found.".
I got rid of it by going to: ~/Library/MobileDevice/Provisioning Profiles and finding the certificate Xcode was trying to use. Then in the "Devices and Simulators" window in Xcode, I right clicked on my device, choose "Show Provisioning Profiles" and with a plus button added the provisioning profile to the device there.
I don't remember when I've done it last time, it's been years. I guess that Xcode normally does it for us but for some reason, it fails when we see that message.
In my case this problem occurred because another provisioning profile was selected for the unit tests. Just took me hours to find this ...
With Xcode 6 and a new device:
Press cmd + shift + 2 to open devices.
Press the "register device" button. If there is no such button (like in the screenshot) go to developer.apple.com and add it manually. Copy the Identifier into the field.
Go to Xcode -> Preferences -> Accounts -> Doubleclick on your account -> Press the little refresh button on bottom left to refresh the profiles
Go to Code Signing and set the new profiles.
We can try this: This has solved my problem . You need to reset the profile for which your device id has been added into your member area of Apple.com . .
Assuming you have your development and distribution certificate installed correctly:
Under Project your main code signing identity should be the developer profile for that app.
Under Targets your main code signing identity should be the distribution profile for that app, except that you should change Debug > Any iOS SDK to your Development profile... and make sure Release > Any iOS SDK is your Distribution profile. This should build and run on your provisioned phone and should archive without any codesign warnings.
Only thing that worked for me when my phone crashed and I had to restore it from a previous iTunes image.
This solution worked for me
Go to Xcode --> Preferences --> Account.
In the provisioning profiles section, right click and open with finder.
Delete all provisioning profiles from the provisioning profile folder.
Finally, go back to Xcode and click the refresh button.
I hope that helps!
I had the same problem. what I did is:
1. clean the target
2. exit the xcode
3. restart xcode
4. rebuild.
and it worked.
Another cause (verified):
Apple has a major bug in Xcode going back to version 3.x, where it magically overwrites the OS X keychain with a fake keychain from inside Xcode, re-installing certs (and private keys!) that you already deleted
...so, if you have "new cert" installed, and nothing else, Xcode will sometimes get into an infinite loop where it will keep ALSO installing "old cert" (that doesn't exist anywhere except inside XCode!).
...and because of ANOTHER bug in Xcode (unfixed for 3+ years now...), Xcode sometimes automatically selects the "oldest cert I can find" (whcih, by definition, is incorrect - I think someone at Apple got mixed up between "oldest" and "newest" :( )
...and EVEN THOUGH you've selected the correct provisioning profile, Xcode sends the "old" provisioning profile to the device, then signs with the "new" profile, causing this error
Solution: you have to un-FUBAR Xcode's FUBAR of your Keychain.
This is harder than it sounds (there are multiple SO posts on this topic) - it involves multiple reboots of your machine, deleting the key every time.
Eventually, Xcode gives up on corrupting your OS, and accepts the reality you present it with :).
Changing the provisioning profile to automatic then running prompted Xcode to "fix" the issue. I then changed back to my original provisioning profile and everything worked fine.
In my case a valid provisioning file is because I didn't add the device to the very provisioning file.
Had the same problem. My solution was very easy. I checked If I have my device's UDID in developer.apple.com and it was absent. After I added it, it starts working. It is very annoying that Apple developers give error "A valid provisioning profile for this executable was not found" instead of "UDID is not found". Actually I mentioned it first in XCode 6...
In my case, it was the problem when I setup my time manually two month earlier on my iPhone. But when I changed to set time automatically, it worked fine.
Setting -> General -> Date & Time -> set time automatically
If it does not work set time automatically of both mac & iPhone, will work fine.
Remove certificate, profiles and recreate it. Install it. Thats the best soultion.
In my experience this problem happens if you try to build on a device that is not registered in your developer center or is not enabled inside provisioning profile that you are using.
1) Add the device to the developer center.
In XCode 5 you'll still find a button "add to member center" inside the Organizer window.
In XCode 6 i suggest to copy the device ID and manually add it to the device section of your member center.
2) Edit the provisioning profile you're using to include the device you have just added. Save and synchronize provisioning profiles from XCode.
Clean, and it is on.
One of the cause could be your "project => Build Settings => Signing => Development Team" is different from your "target => Build Settings => Signing => Development Team", just make them same
After select auto manager signing
You may still need to check the selection in settings. Sometime, it's not correct there.
I had a certificate that expired (which generated the error).
Step 1. Go to developer.apple.com, login, and go to IOS provisioning portal
Step 2. Go to certificates (which is now empty), and follow the instructions listed to create a new certificate (open keychain on your computer, create a signing request, save it to disk, upload it to apple)
Step 3. Download and install the files created by apple to your keychain
Step 4. Problem: all of your previous provisioning profiles were associated with your OLD certificate, so you need to go back to developer.apple.com->IOS provising portal-> provisioning profiles and 'modify' each profile you care about. You will see that your identity is no longer assicated with the profile, so just click the check box
Step 5. Download all the profiles you changed
Step 6. Plugin your phone and drag and drop the .mobileprovision file onto xcode icon in the dock bar to install them on the device
I saw this problem because I had obtained a new Mac, and was still using my old Computer's certificate. I had created a new certificate for the new Mac, but had both certificates in my keychain.
In the Organizer, the profile warned that "XCode could not find a valid private-key/certificate pair for this profile in your keychain" even though the old certificate existed in my Keychain.
The solution was to delete the old certificate from my Keychain and delete/revoke of all the profiles which used this old certificate. Then create a new profile with the new certificate and use this.
Hope this helps!
Bringing an app up from Xcode 3 to 4.3 I found the Bundle name and Bundle identifier had to be set to match the AppId.
If all else fails, give that a whirl.
I faced same issue there may some other reasons too:
While testing i set my date to some future date and profile got expired. As result this issue was generated.
But i solved by setting date of iphone to current date as a result profile was not expired.
I'm compiling my app in Adobe Air for iOS, not Xcode. I was trying to copy the .ipa using iTunes, and got a mysterious "Error installing app" message. It wasn't until I used the iPhone Configuration Utility (iCU) that I got the real error message.
The problem was that I was compiling the app with a provisioning profile for ad hoc distribution and a certificate for development. I didn't understand that there are 2 types of certificates, and 2 types of provisioning profiles. There's one of each for development and one for distribution. If they don't match... then you get that error message. It's obvious once you understand it...
The solution was to download the distribution certificate (.cer), double click to open in Keychain, and export that as P12 from KC directly. Then use that P12 distribution certificate in the publish settings (Flash IDE or Flash builder), and also use the provisioning profile used for ad hoc distribution (.mobileprovision). Then finally install the provisioning profile and the .ipa file using the iPhone Configuration Utility.
That did it for me.
In my case my provisioning profile was invalid because apple has changed some of its terms and conditions. To fix problem I had to
delete previous profile.
I had to accept terms and condition from this website of apple.
Click Your app from Xcode Under Targets. (Under project.) Here you see Summary info, build settings, Build phases, build rules.
Okay go to Build Settings. Go down to Code Signing.
You see you have two fields Debug and Release. You have two profiles to choose from in each of those fields, Distributing and developing.
Let distributing be the one from the Release field. Let Developing be the one from the Debug field.
Doing this solved this problem, and let that error message go away. Now I can run my application fine.

iPhone 4 SDK "Ad Hoc" install error

I recently upgraded my iPhone SDK to 4. But now when I create an "Ad Hoc" build for my customer and send him the zipped app and "ad hoc" mobile provisioning file he gets the following dialogue when attempting to install the app using iTunes 9.
"A provisioning profile named 'embedded.mobileprovision" already exists on this computer. Do you want to replace it?"
I've been able to reproduce this with my own system so it is not a local configuration issue.
The interesting thing is my "ad hoc" builds worked fine before the upgrade and this dialogue is not occurring when I drag my provisioning file to iTunes, but occurs when the app is dragged into iTunes.
Also, when we click "replace" nothing happens. The app is not installed into iTunes and we do not see the app in the apps folder or on the devices when we sync.
I have my project set to build using iPhone 4 as the Base SDK and the deployment target is 3.0 (I've also tried 3.1.3).
I do not have any problems installing this app using my development profile.
I've been programming iPhone apps for over a year now and thought I had a handle on this crazy provisioning profile crap, but now this new SDK is giving me new problems to waste my time on.
Any help would be appreciated.
Try renaming the profile, or deleting the old embedded.mobileprovision (it should be named by GUID once installed). Or just use iPhone Configuration Utility, which is much less of a pain than iTunes.
I got it to work by selecting the "Application requires iPhone environment" option in my -info.plist file.

Code sign error with Xcode 3.2

I had a fully working build environment before upgrading to iPhone OS 3.1 and Xcode 3.2. Now when I try to do a build, I get the following:
Code Sign error: Provisioning profile 'FooApp test' specifies the Application Identifier 'no.fooapp.iphoneapp' which doesn't match the current setting 'TGECMYZ3VK.no.fooapp.iphoneapp'
The problem is that Xcode somehow manages to think that the "FooApp Test" provisioning profile specifies the Application Identifier "no.fooapp.iphoneapp", but this is not the case.
In the Organizer (and in the iPhone developer portal website) the app identifier is correctly seen as 'TGECMYZ3VK.no.fooapp.iphoneapp'.
Also, when setting the provisioning profile in the build options at the project level, Xcode correctly identifies the app identifier, but when I go to the target, I'm unable to select any valid provisioning profile.
What could be causing this problem?
Update: I've tried to create a new provisioning profile, but still no luck. I also tried simply changing the app identified in Info.plist to just "no.fooapp.iphoneapp". The build succeeds, but now I get an error from the Organizer:
The executable was signed with invalid entitlements. The entitlements specified in your application's Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).
This seems reasonable, as the provisioning profile still has the "TGECMYZ3VK.no.fooapp.iphoneapp" application identifier.
I also double checked that all certiicates are valid in the Keychain.
So my question is how I can get Xcode to see the correct application identifier?
UPDATE: As noted below, what seems to fix the problem is deleting all provisioning profiles, certificates, etc., making new certificates / profiles and installing them again. If anyone has any other solutions, they would be welcome. :)
I had to manually remove the provisioning profiles from my phone, then rebuild the apps after doing a "clean all targets" from the build menu.
That's under Settings -> General -> Profiles
This happened to me when I got a new Mac. You'll fix it, don't worry
Well, as seems to be the case with a lot of these code signing issues, deleting all provisioning profiles, certificates, etc. and revoking and generating everything all over again turned out to do the trick. I even created a new bundle identifier, app identifier, etc., and now AdHoc distribution is working again.
I had this same error yesterday. I tried all of the various resetting procedures in the other answers with no luck. Eventually I also
rebooted my mac
rebooted my iPhone
deleted all of my iphone provisioning profiles from the phone using XCode
deleted all profiles from my mac (~/Library/MobileDevice/Provisioning Profiles for me)
what else? deleted build folder, restarted XCode, installed update to 3.1.2 sdk, sacrificed a chicken.
Lo and behold, it now works, the error is gone. This is serious voodoo territory.
Also, make sure that you added a reference to the Entitlement filename "dist.plist" in your project configuration CODE_SIGN_ENTITLEMENTS.
Check both Code Signing Entitlements in info for both the Build Target and the Main Application - if Code Signing Entitlements says on either then remove it
In XCode, in the "Groups & Files" pane, expand "Targets" and double-click on your app's target.
This will bring up the Info pane for your target. In the "Build" section, check the "code signing" section for any old profiles. This has happened to me many times particularly after an upgrade to a new version of the sdk and iphone os
Quick Hack if you are on Xcode 4.3.
In Xcode under Project Settings > MyTarget > Summary tab all the way in the bottom there is a checkbox that says "Enable entitlements". When I unchecked it, it made the error go away.
Inside Resources/Entitlements.plist there is a Boolean "get-task-allow" if that is not checked, check it ON. This fixed the issue for me.
After being stumped by this for quite a while I revisited the settings and discovered that I had reversed the 'Code Signing Identity' and the 'Any iPhone OS Device' entries. - The clue I had as to this happening was shown by.
Deleting every profile off the phone
Build and Go
At this point xcode attempts to provision the phone (device)
Examine the phone to see which provisioning profile has been added.
As I prefix all my profiles 'AdHoc' or 'Development' or 'AppStore' I saw immediately that the install process was putting a development profile on the device and not an AdHoc profile.
The device may not be in the list. Try modify your provisioning profile.
Just to add a note here: I encountered the same error (0xE8008016) after replacing my Macbook's logic board (although I imagine you'd have the same problem on a completely new mac), and after hours of going around in circles I realised that the iPhone Developer Program Portal had separate certificates for Development and Distribution.
A change in hardware means you need to reissue both certificates - I'd reissued Developer but not Distribution. Because my name hadn't changed when my hardware did (and certificates are identified by the owner's name), this made it a tricky problem to spot ;) Hope this saves someone else my frustration.
For reference, I ran into the same issue and deleting all of my profiles, existing certs and everything from my local drive and from the developer portal, and deleting my existing devices and re-adding them (developer portal) seemed to do the trick.
The problem is in the "project.pbxproj" file located inside the [your project].xcodeproject file. If you feel brave right click on the .xcodeproject and view contents then open "project.pbxproj" with a plan text editor. Inside search for the offensive path and correct it. In my case I just removed the entire path and just left "Entitlements.plist" and it cleard my issues up. I STRONGLY reccomend backing up your .xcodeproject before attempting this.
Double click the target then select the "Properties" tab. There change the com.yourcompany.${...}.
Another cause is if the device you want to install onto is not an approved device in the Distribution Certificate.
Sometimes Xcode does not automatically copy your provisioning profile to the right location.
In my case, that was true.
Check that your provisioning profile is in ~/Library/MobileDevice/Provisioning Profiles directory and if not just drag and drop, clean and build