I have spent the past 5 hours trying to make this work but unfortunately all attempts have failed. The process of testing apps on an actual iPhone is extremely frustrating for beginners such as myself compared to other platforms so I am hoping you guys can give me hints on what I am doing wrong here.
I have registered for an iOS developer account and paid the $99 and my account creation is completed. After letting Xcode do certificate registration, adding device and provisioning profiles I have the following automatically created for me:
In the developer portal - Certificates, Identifiers & Profiles
Under Certificates I have the following created:
iOS Development
iOS Distribution
Under Identifiers I have the following created:
Xcode iOS Wildcard App ID
Under Devices I have the following created:
My iPhone Name with its UDID
Under Provisioning Profiles I have the following created:
iOS Team Provisioning Profile with its App ID set to Xcode iOS Wildcard App ID (*)
From what I've read, I should be able to test apps without having to create a new App ID as long as they don't use certain features that require App ID such as push notification.
So I went on and I created a new project in Xcode called HelloWorld. Running the application caused the error: Code Sign error: A valid provisioning profile matching the application's Identifier 'com.test.HelloWorld' could not be found
After reading some more articles (which all of them seem to be outdated as none reflect the new UI of the apple developer portal) I have done the following in Xcode:
Under Build Settings -> Code Signing and I set it to iPhone Distribution: MyName (XXXXXXX)
but that didn't fix anything.
So in short my question is how do I deploy and test an application to my device using this wildcard provisioning profile?
All you really have to do is: Open Xcode, Open "Window -> Organizer".
Go to "Provisioning Profiles".
Click "Refresh" bottom right.
Log in with your dev Apple ID and Xcode will generate all required profiles
Follow these steps (omit if you have done any of these, and I'm assuming that you've already created the certificates)
1 - Create a wildcard AppId e.g com.yourcompany.test.*
2 - Create a provisioning profile (development) using this identifier
3 - Set identifier of your app to com.yourcompany.test.myapp
4 - Build & run it will work.
First Check you have a valid status in your xcode>organiser
and you are signing with right dev. profile and make sure all your devices are added in the profile.
In Xcode 6 you need to go to Xcode->Preferences.., go to the Accounts tab and select your apple id, then press "View details..". Finally press the refresh button.
Related
I'm building an apple watch application for which i created a AppGroup and also setting the provisioning profile and the certificate.
Now the issue is while building/running the "watchkit app" xcode is throwing an error saying,
warning: Capabilities that require entitlements from “appname WatchKit Extension/appname WatchKit Extension.entitlements" may not function in the Simulator because the provisioning profile specified in your build settings (“WatchKitProfile”) has an AppID of “com.id.watchApp” which does not match your bundle identifier “com.id.watchApp.watchkitextension”.
and nothing is showing in the applewatch simulator.But application is working fine in iPhone simulator.
Even the applewatch methods are not calling WKInterfaceController.openParentApplication
One more doubt, I'm using the appgroup which already used by other members.Will this create any problem or is this the issue for this warning.
Can anyone please help me on this.
When you create an App ID, you need to regenerate your provisioning profiles because they will not have the newly created App ID listed. Xcode can do this for you automatically as a "Fix Issue" prompt.
Ensure once you have created your App ID, you add it both the main app and the watch kit app extension via the capabilities tab and click on Fix Issues until it is all ok.
This is the first time trying to test an app I created with LiveCode on an iPad.
I made sure that the IOS Provisioning Portal had the following set up as ad hoc:
certificates in Development and Distribution.
Ipad is registered
Apple ID is set up
provisioning in Development and Distribution.
When I try to get the app into Xcode the following error is displayed:
The executable was signed with invalid entitlements.
How do I get all of this into xCode so my LiveCode app can be tested in the iPad?
Probably, you used a distribution profile instead of a developer's profile.
The creation of the developer certificate and provision profiles are described step by step on Apple's website. I strongly recommend that you take your time to read these steps and to make sure that you follow each step correctly.
Apple's provision portal also has an assistant that helps you to create a developer's provision profile. You need to use this developer's provision profile instead of an ad-hoc prodile if you want to install your app through XCode on your own device(s).
You can use the devloper's profile in LiveCode's Standalone Application Settings window.
This is a ENTITLEMENTS error, not a code sign issue. Entitlements have to do with iCloud. In Xcode 4 this was done on the Summary page at the bottom. In Xcode 5 it is on a new page called capabilities at the top. It will be lit up with a FIX this Issue Flag. Simply select your Devel profile and you're good to go. It does require an AppID set-up with iCloud Checked. If you're not using iCloud simple delete whatever is in the Entitlements field in the build Settings.
Although I see the "read the doc" answers often. a.) Most of us do try to read the doc and b.) It rarely contains and useful granular detail needed to code or troubleshoot anything. Cheers
Entitlements are also used with the Game Center, Passbook, In-App Purchases and Maps. All are setup in the Target Tab called Capabilities.
Just a simple question about the submit process for AppSore using Xcode 4 (I know already asked, but didn't work for me).
I have my app ready for publish. I have all my certificates, and I can see my provisioning profile with an ID such as xxxxxxx.com.blabla.App.
If I set my Xcode project identifier to com.blabla.App I can select my distribution certificate (it indicates "for Application Identifiers com.blabla.App ").
The project compiles but when I try to submit the App I get the following error
The bundle ID com.blabla.App" defined in your Xcode Project does not match the Bundle ID you entered for this app in iTunes connect xxxxxx.com.blabla.App.
If I try to use this bundle (xxxxxx.com.blabla.App) in the Xcode project, then I cannot select the certificated, is for (com.blabla.App) apps.
I know the solution should be very simple, but, It's mu first time :).
thanks
Just spent 12 hours resolving this so thought I would contribute my 2 cents:
The Bundle Identifier should be com.companyname.appname - this has to be the same as the Bundle ID when you create your app in iTunes Connect
Your Bundle Seed ID (App ID Prefix) ie. 10 digit code SHOULD NOT be entered into xcode nor the bundle ID when creating your app above. The only place you will see it is the App ID within PROVISIONING PORTAL > App IDs. This was very confusing - basically just enter the above (com.companyname.appname) for App ID SUFFIX
FYI the order from scratch should be:
Get Certificates for Developer and Distribution in Provisioning Portal > Certificates
Create APP IDs in Provisioning Portal > App ID
Create Provisioning profile for Dev and Distr in Provisioning Portal > Provisioning
Finally create the app in iTunes Connect
oh and in case you delete your app but lose your name:
http://hesh.am/2012/01/recovering-a-deleted-app-name-in-itunes-connect/
just visit apple developer forum or try out some good blog lonk like part 1 part2 or use ray wenderlich tutorial to submit app on iTunes Store
Are you saying, that the Bundle ID in iTunes Connect and the one in your project settings are different from one another? If so, you should make them identical. My advise is to remove remove the app from iTunes connect and go trough the setup from start. When you do it, make sure you enter the same App ID as the one in Xcode.
Good luck!
See Apple's published steps to resolve this error here.
The older wording of this same error was:
Bundle identifier: (x) differs from reserved bundle identifier: (y)
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Deploy an iphone app from xcode to iphone
Hi I have tested my app using the iOS simulator. How can I test it on my own iphone? I am an Apple developer member.
The first thing you need is a development certificate. Visit the iOS provisioning portal and follow the steps here: http://developer.apple.com/ios/manage/certificates/team/howto.action:
Once that is done, you can do everything else from Xcode. Using Xcode 4:
Connect your device via USB.
Open the Xcode organizer (Window->Organizer)
Select "Provisioning Profiles"
Check the "Automatic Device Provisioning" checkbox and click "Refresh"
You will be prompted to enter your developer account username and password. Do this.
This step will automatically create and download a wildcard (*) provisioning profile that you can use for testing any application on your device.
After a few seconds you should see this new profile appear in the list with the name "Team Provisioning Profile: *"
Restart Xcode just to be safe. Sometimes it can get confused.
Open a project and select your device from the main schemes dropdown box:
Build and run.
If that doesn't work straight away, make sure your target has the correct code signing options. Find your target's build settings and for the Debug configuration choose "iPhone Developer" under the "Automatic Profile Selector" group in the dropdown:
This should be selected by default.
Good luck!
You need to learn about creating Adhoc Distributions for iOS devices for detailed reference. I am however putting all of it here in the answer:
Creating iPhone Ad Hoc Distribution Builds
1. Adding Beta Tester Devices
Apple allows an Ad Hoc build to be distributed to up to 100 devices which they enforce by making you add the devices to the distribution provisioning certificate. This means that you need to retrieve the UDID for all of the test devices, add them to the provisioning profile using the iOS Provisioning Portal and then download and install the profile.
2. Finding the UDID
To get started you need to ask your beta testers to supply the Unique Device ID (UDID) for their devices. To find UDIDs they can follow the steps on:
whatsmyudid.com
3. Registering the Device
Once you have the UDID you need to add it to your account in the iOS Provisioning Portal in the same way you would for a development device. You do this in the Devices section of the portal and can either use the ‘Add Device’ button to manually add a single device or use the Upload Devices button to bulk upload multiple UDIDs from a text file.
Note: If you want to bulk upload multiple devices the format of the text file needs to be as follows with the two columns separated with tabs:
Device ID Device Name
1234567890123456789012345678901234567890 Test_iPad
The contents of the first line are not important but you need to put something as the first line is ignored when you upload.
Also be aware that you can only register up to 100 devices each year. You can delete devices any time you want but once added they still count towards your annual allocation. (So if you add 100 devices and then delete 50 of them you still have to wait until the next year before you can add any more).
4. Creating the Distribution Provisioning Profile
Assuming you already have a distribution certificate the process to create an Ad Hoc provisioning profile is quick and easy. In the Distribution tab of the Provisioning section use the New Profile button.
The only difference between an Ad Hoc profile and a normal App Store profile is the Distribution Method.
Ensure you select the Ad Hoc method and then enter a profile name, the App ID and finally ensure you select all of the devices you want the Ad Hoc build to run on. Once you have finished submitting the profile you should download it and save it somewhere safe as you will need to send it to each of the beta testers. The file should have an extension of .mobileprovision. You should also drag the file onto your Xcode icon to install it, you can use the Xcode organiser to verify that it installed ok. You should see the profile in the Provisioning Profiles section.
5. Building for Ad Hoc Distribution
With the provisioning profiles configured correctly the next step is to prepare the project in Xcode for an Ad Hoc build. It might be useful to create a configuration just for Ad Hoc builds so that you do not have to worry about the details each time. The easiest way to do that is to copy an existing configuration, if you already have a Distribution configuration that is probably a good starting point otherwise you can start from the default “Release” configuration.
With the project open in Xcode, right-click on the target and select “Get Info” to bring up the Info dialog window and select the Build tab and then in the Configuration drop down menu select “Edit Configurations…”
Select an existing configuration (e.g. Release or Distribution) and then at the bottom of the window use the Duplicate button to create a copy of the configuration and name it “AdHoc”.
In the Target Info window ensure this new AdHoc configuration is selected and then adjust the following settings in the Build tab. In the Code Signing section, look for the “Any iOS” setting under Code Signing Identity and make sure it is set to iPhone Distribution and matches the Ad Hoc provisioning profile we installed previously.
6. Entitlements
There is one additional step if your project includes an Entitlements.plist file (perhaps because you needed to enable keychain data sharing). For an Ad Hoc distribution you need to ensure that the get-task-allow flag is not set in the plist file. One way to handle this is to add a second file (Entitlements-adhoc.plist) just for the Ad Hoc build which is identical apart from the get-task-allow flag:
To ensure this new Entitlements file is used you need to modify the Code Signing Entitlements setting in the AdHoc configuration to reference the new file.
7. Build and Archive
With the AdHoc build settings active use the Build and Archive command to create the distribution build. Assuming the build was successful you should find it in the Xcode Organizer in the Archived Applications section. You can add a name and comment to the organizer for future reference at this point.
8. Sharing the Application
The easiest way to send the application files to a beta tester is to use the Xcode organizer to create an ipa file. To do that select the AdHoc build in the Archived Applications section and use the Share button and then select Save to Disk. Xcode will create a signed application file and save it to disk with a name of your choosing. Name the file something useful like appName-x.y.z.ipa where x.y.z is the version number.
You can then send this .ipa file together with the .mobileprovision file to your beta tester with instructions to drag onto their iTunes library to install it on the test device.
For sharing and application versioned release management you can also use testflightapp
You should add your device UUID to your iOS provisioning portal. Create an App id. Create a mobile provisioning profile by selecting your device and App Id. Download and install that profile to your device. The build and run your app on the device. Please let me know if you need further clarification.
I am new to iPhone development. I just registered with Apple for the iPhone Developer Program. When I try to build, I am receiving an error:
Code Sign error: a valid provisioning profile matching the application’s identifier could not be found
I'm not sure what is wrong. I tried browsing the Internet but I get confused. Can anyone help me with what I should do?
At first it seems a complex process, but it's pretty straightforward when you've been through it a few times.
In a nutshell the process is this:
(I'm assuming you've set up your iPhone/iPod touch as a test device)
Via the iPhone Developer Portal
Create an App ID
(give your application a name, this is just for reference on the website and nothing to do with your own build of your application)
enter a string to identify it, like com.yourcompany.appname
(this is important and should be the same as in your .plist file inside Xcode)
Click and Save this
Go to Provisioning
There are 2 provisioning profiles you'll need
a) development - so you can install your application on a test device (i.e. your iPhone / iPod touch)
b) distribution - if you want to sell the application via the App Store
You can create the profiles by selecting your App ID, created in the previous step, from the drop down list and clicking Save
In a few moments (usually, though it can be longer) the certificate is available for download. Download this to your Mac and drop it onto the Xcode icon. Sometimes the development profile doesn't work for me like this and I drop it directly into the Organiser window in Xcode that shows my connected device.
Besides, if you are in a team account, team admin need to edit Development Provisioning Profiles, and add modify your certificates privilege.
In Xcode inside 'Edit Project Settings' you can select the certificate you wish to code sign with. Usually for debug I sign with the development certificate. Follow the instructions on the apple site and clone the release profile and call it something like release and sign this with your distribution profile. (You won't be able to load the app onto your phone with the distribution profile selected)
Make sure you select the target device as Device and not Simulator when building for the App Store!
Hope that helps, it's from memory so apologies if I've skipped some small steps.
xcode top left corner make sure you're running as "similator" "iphone"
Did you set up an iPhone provisioning profile for either development, ad hoc distribution, or app store distribution?
If not go to the iPhone developer program portal, which is linked from the developer.apple.com/iphone. Apple has provided a great series of video tutorials.
Just make sure you install the certificates or the profile won't be selectable in the project configuration. When you download the certificates double-click on them to install.
Possibly more use for others seeing this issue on a previously configured dev environment.
This error is also shown if your provisioning profile has expired, in this case you can go through the steps in Neosionnach's answer or you can go to Organizer, click on the profile and click Refresh.
This was the winner for me when I had this issue.
As of July 2012, you can go here:
https://developer.apple.com/ios/manage/overview/index.action
Then launch the "Development Provisioning Assistant." It walks through all the steps outlined by FiddleMeRagged.
You can use this process to create a Wildcard ID, if you're just looking to test your app on your iOS device and don't need to deploy to the App Store right away.