I think my head soon explode.
I've been working on my application for some time and finally git an iPhone for testing on device, now I'm trying to run my app on iphone but can't do it. I've done all necessary steps but getting an error
[BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be found
My provisionign profile is called XXXXXXXXX.com.myname.*
in info.plist I changed Bundle identifier to com.myname.myapplication
my project name is MyProject because I can't change it, but my target and executables called myapplication
I've checked all setting and can't even find this yourcompany anywhere
but still getting this error
where need I seek?
thank you
Xcode uses the bundle identifier found in the target's Info.plist file for code signing.
Which Info.plist file is selected is actually a build setting (normally in the target), and is usually set up by Xcode correctly. If you manually edited the Info.plist's bundle identifier value to your identifier, Xcode should use this identifier and code signing should work.
The default Info.plist file contains a bundle identifier that contains Xcode build settings and is processed to the final identifier when building the target.
The answer by Nikolai Ruhe said "If you manually edited the Info.plist's bundle identifier value to your identifier, Xcode should use this identifier and code signing should work." This is true. However, these days (I'm not sure how it was in Sep 2010), xcode uses a default bundle identifier that is a function of the variable ${PRODUCT_NAME}. This same variable is used in various other places, e.g., as bundle name, bundle display name, etc. Thus, I would recommend changing ${PRODUCT_NAME} instead, and this change will then propagate to the Info.plist's bundle identifier, etc.
How to change ${PRODUCT_NAME}? Select the appropriate target, go to "build settings", expand the "packaging" section, and then edit the value of "Product name".
Select your target, go to summary. Change bundle identifier to com.myname.myapplication from com.yourcompany.MyProject. It should work! I have been using it like this and it works great everytime. You can do the same from info.plist file as well.
Related
I know this question has been asked before, but I have tried the given solutions, and none have worked. I am switching development computers, and starting a brand new project on my new computer. We already have a certificate that we used on the old computer, so I exported the Developer Certificate from my old computer, and installed it in my new machine. I created and downloaded a provisioning profile for my new application on the new computer. I am trying to run the application on a test device, whose UDID I added to the provisioning profile, so it would be valid for this device.
The provisioning profile was created with the apple ID I created online with the the form com.mycompany.projectname.
When I try to run the application on the test device(it does not work on the simulator either), I get an error popup that says The application does not contain a valid bundle identifier.
My bundle identifier, which I checked both the Targets -> Summary -> Identifier and the Info.plist is showing correctly in the form of com.mycompany.projectname, with neither the company name, nor the project name having any special characters in it.
Am I missing something? I have been beating my head against the wall with this for a while now...
I remember the last time this happened to us was when we noobishly trashed our app's plist. Luckily, we had an older copy on the old time capsule, and restored it. But we had changed the bundle ID since and it kept showing us that error. Matching the cert with the Bundle ID is critical. Make ABSOLUTELY sure the names on the cert match the bundle ID, or check the organizer to see if the cert even installed in the first place. If need be, as an absolute last resort, change the bundle ID and get a new cert.
We ensure that “the plist” and “ general->identify->Bundle Identifier ” have a same Bundle Identifier。and the Bundle Identifier's stytle maybe be like "com.mycompany.projectname "
Follow these steps:
look plist whether have the Bundle Identifier
look general->identify->Bundle Identifier whether the same as plist in Xcode
if the same maybe Bundle Identifier is inAppropriate。 so you can set Bundle Identifier like "com.mycompany.projectname "
I did find a couple of very similar or identical threads here but they seemed to end before full resolution.
My app runs fine on my device with no build error. I am trying to submit app for approval and I get the following error, "This bundle is invalid. The executable name, as reported by CFBundleExecutable in the info.plist file may not contain any of these characters ..... +". So I opened my info.plist file and changed the info.plist file executable name from the macro ${EXECUTABLE_NAME} to the name of my app without the +. I did a new archive but then get an error saying the "codesign failed with exit code 1".
In another thread I read to just change targets name removing the + from there and leaving the info.plist file with the macro for the executable name, restarting Xcode and then archiving again. That allowed me to archive but I received the same error in iTunes Connect.
I have been working on this all day and don't find the solution. Can anyone please point me in the right direction? Thank you for any help.
You have to change ${PRODUCT_NAME} in Build Settings.
And you have to set name for display at Bundle Display Name in Info.plist.
See here for more details:
Bundle Name, Executable Name, Product Name...anything else?
There are a few different ways to make this work but this seems like the easiest/fastest
First change the "Product Name", so that it does not contain any special characters - how to change Product Name
Next, I changed the "Bundle display name" (CFBundleDisplayName) and "Bundle name" (CFBundleName) in my Info.plist to be hardcoded to have the '+' in it rather than referencing the ${PRODUCT_NAME} variable.
If you have already created app and distribution profile in iTunesConnect then you should also change the "Bundle identifier" in Info.plist - hardcode it to whatever you entered in iTunesConnect rather than xxx.${PRODUCT_NAME:rfc1034identifier} variable (iTunesConnect bundle identifier is shown in an error message if you try to build an archive before changing it)
Finally, build your app and Apple should not complain about the character when you validate. Your app should still show up with the '+' sign on the homescreen when you run on a device because of the hardcoded bundle keys.
Clean your simulator and device
If building for iOS Simulator won't work after that ("error: failed to attach to process ID 0" message) then go to "IOS Simulator" menu bar and click "Reset Content and Settings…"
If running on your device doesn't work after that then delete the app from your iPhone/iPad and run it again
I left the Executable name as-is in the Info.plist because the ${EXECUTABLE_NAME} variable it references by default is comprised of the ${PRODUCT_NAME} and a couple of other variables that I did not want to mess with.
thanks to Nathan Welch who's answer was basis for this tutorial
double click the target and select the build settings tab.search for product name and change it to without + sign.as mentioned before, the bundle display name in info.plist can have the same name with + sign
You have to rebuild. You can't tamper with the bundle after it has been built.
1.This bundle is invalid : Make sure your using bundle id is available or deleted by some one and also open the distribution provision profile is created for app store status is valid or invalid.
2. ${EXECUTABLE_NAME} : please provide your app name with + in plist
3. codesign failed with exit code 1 : see this link and do like http://stackoverflow.com/questions/4842717/iphone-codesign-object-file-format-invalid-or-unsuitable
Since I've changed the project name (Packaging -> Product name) of my project for release on app store i'm getting the code signing error(CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.0'). I've deleted all provisioning, all certificate and reissued them. But it doesn't help a thing....
I'm trying the whole day but nothing helps. Please help!
Thnx
ps. I have the problem if i use the archive function. Testing on the iPhone doesn't give any problems
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 5.0'
This error occurs for the simple reason that you don't have the "target" code-signing-identity fields set. If you just set the project-level values then they're not pushed down to the target. You need to explicitly set the "target". This solved my problem.
It's not that your profile and certificate are out of sync. As the error says "code signing is required". This indicates that you have not signed the app.
if there is error like CodeSign error: code signing is required for product type 'Application' in SDK 'iOS X.X') and if you are using Xcode 4.2 and 4.3 SDK than probably following could be a one kind of solution..If you have changed the provisioning profile or changed the code signing identity configuration due to changes while submitting the app or a new version or added a new code sign identity configuration. This error happens when the provision is not matching the bundle id & profile, you can do "Edit Scheme" (just after the run button double click on the project name), Do Edit Scheme.....follow image below
Select your code signing identity profile on the left, like archive and check the right hand side build configuration is matching & you have selected the Code Signing Identity based on the info.plist bundle setting & matching distribution profile, which is present.
I think your bundle identifier changed with the app name-change, so you will need to recover it.
Double-click the project file, then the target; look in the section called "Summary".
Change the first text field, named "Identifier", to the identifier of your app in the Developer Portal.
I got this error after a source control update, the "Active scheme" was changed to "iOS Device". Changing it back to iPhone X.Y Simulator fixed the problem.
When I build app with Xcode 3.2.3 (iPhone SDK 4), following image was showed in Build Log
Info.plist: MinimumOSVersion value is
invalid. It must be a valid version:
(-19024)
Check the MinimumOSVersion in the info.plist file itself. It may have gotten set or corrupted somehow. The project info panel in your additional screenshot shows how the product file thinks the info.plist will be set and not how it actually ends up set.
Check the path to info.plist file listed in the target (not resources) to make sure you've got the right one actually being put into the built product.
Check that your SDK is set for the right platform e.g. you can't set SDK 3.2 for an iPhone only app.
I got it. It's a problem of Target Build (not project Build). I need to check Target Build , Base SDK.
Thank All.
I'm having trouble getting the Application Identifier or Bundle Identifier set up. In my distribution profile, I have included the identifier "com.., and then copied it exactly into the the app's Info.plist file under "Bundle Identifier". In the past, this has done the trick, but now I'm getting the error
Provisioning profile 'irow beta' specificies the identifier 'com..' which doesn't match the current setting 'com.yourcompany.***.
So it seems that its somehow still using the default of com.yourcompany.APPLICATION_NAME, but it shouldn't after I have changed it in the Info.plist, right?
I think this means that xcode isn't recognizing that PLIST for some reason, because when I change the name of the icon file, for example, or other such attributes, nothing changes. If this is the problem, how do I make xcode recognize the PLIST?
Thanks,
James
I'm sure, that if you'll go in xcode to your target->properties and change it there, it will catch, so the icon. Probably the plist you're trying to change doesn't appear in build settings of a certain target, that's why you don't see the change.