IOS application, ID bundle errors on XCode - ios

I created an application with the Ionic Framework that allows me to make hybrid applications.
When I open my project on XCode, I have errors from XCode that I can not solve.
My errors are:
"Automatic signing is unable to resolve an issue with the target's
entities file"
"Provisioning profile ios team provisioning profile * doesn't include the aps-environment entitlement "
"Code signing is required for product type 'Application' in SDK 'iOS 10.3' "
I think the ID bundle has a mistake, however, I do not understand how to solve it.
How do I create a correct ID bundle without going through the project creation box since mine is already creating basic? (My ID bundle was generated by the global application's in the config.xml file)
Is it necessary to have a paid developer account to be able to create one? Or can I test my app simply on my phone?
Thanks in advance!

These errors you are getting because of the no Provisioning profile & Developer Certificate.
To Brief of what is provisioning profile & Developer certificates are, These are security certificates providing by Apple to make sure that the iOS application is built by identified developer.
If you see there is a check mark: "Automatically manage signing" on.
Because of that, it's trying to create provisioning profiles and
certificates automatically without any proper apple membership
account. That results in an error.
To run on a device, you don't need to have paid account. Any Apple ID will work. You need to have at least normal Apple ID and have to put any random bundle identifier there to run on your iPhone. (You can follow this link to How to run on iPhone without certificates)
Answering another question of yours: Yes, it's required to have Apple paid account to create a Bundle identifier. Even if you test it now on iPhone using above trick, to distribute in future to AppStore you need one.

Related

Unable to set Signing certificate in XCode. Executable contains an invalid signature

I want to run my cordova iOS Application on my iOS Device for testing.
Following are my build settings:
Clicking Enable Development Signing sets the Team to None.
My build is successful. On installing, XCode shows the following error:
Does it require a developer account to run the Cordova iOS build on a device for testing? The Cordova Android version is already on Play Store.
How to set a Signing Certificate without a developer account? How to fix the invalid signature error. I haven't set any signature yet.
I am completely new to iOS.
Yes, you must have a developer account to get a signing certificate. The signing certificate pairs with your provisioning profile, which also requires a developer account to create. You need both to run on a physical device. Your device must also be registered with your account and included in your provisioning profile device list to be allowed to run the app, outside of the App Store environment.
Xcode handles much of this for you automatically, if you have a developer account set up under Xcode Preferences > Accounts > Apple IDs. On the right-hand side of that screen you have a list of "Teams" along with buttons that say "Download Manual Profiles" and "Manage Certificates..." Is anything listed in there?
Your screenshot shows a Team with your name, which should mean that you have a developer account already?
You also have a button in your screenshot that says "Enable Development Signing." Have you tried running that? Does it not take care of things automatically for you? "Automatically manage signing" enabled should be helping you get through these issues with simple clicks of those buttons.
Otherwise, you will need to go to the Developer portal and register a signing certificate manually. That's a process that many have written blogs and manuals about already. I don't think it is necessary to re-write what has been said by many others already. Here's a YouTube video that does a nice job of explaining things: https://youtu.be/OwXIJchrDdA

Wildcard App ID issue with Xcode 8.0

I used to have a provisioning profile with an associated wildcard app ID (*) to sign a bunch of apps for customers. Each explicit app ID is declared into the Bundle ID field in the Xcode project. The problem is that each app uses Wireless Accessory Configuration capability. As reported by Apple (https://developer.apple.com/library/ios/qa/qa1713/_index.html),
Because an App ID specifies a unique configuration of entitlements, Wildcard App IDs are for use with code signing all apps that do not enable app-specific capabilities.
Until Xcode 7.3 this wasn't a big deal, it always worked. After updating to the last public beta of Xcode 8.0, I'm not able to code sign my apps anymore using the wildcard app ID associated to my provisioning profile and I can't add explicit app IDs to it because they are already managed by customers. When I try using the new automatic code signing feature, it tells me that the app ID that I suggested in the Bundle ID field of my Xcode project cannot be registered to my development team (of course not!, because it belongs to the customer's team which I'm not a member of).
If I click in the Info disclosure button next to the Xcode managed profile, the only issue that I can see is that the Wireless Accessory Configuration capability is missing
So, could I ask the customer to add this capability to the explicit app ID in order to solve this issue?
If I try to code sign the app directly in the Build Settings using the old method with my provisioning profile (which I regenerated again), I always obtain the following issue:
"App" isn't code signed but requires entitlements. It is not possible to add entitlements to a binary without signing it.
Code signing is required for product type 'Application' in SDK 'iOS 10.0'
Could someone please help me addressing this problem? I'm stuck since days.
List of possible solutions:
Have them add you as a member to their development team.
Make the bundle ID dependent on the the build configuration. Then you can register an App ID yourself and add the capability.
Make the entitlements.plist-file dependent on the configuration. Have a separate entitlements.plist-file without the capability for your development and testing.

Certificates and Provisioning Profiles for Push Notifications

I'm having trouble with the process. I have got push notifications working for Development. I have read multiple guides and questions, and for some reason - either their guides are deprecated in iOS 8 or my Xcode is bugged - I am having issues with provisioning profiles.
For the purposes of this question, I have generalized most of the terms for privacy concerns.
I'm currently greeted with the bug - Failed to code sign "App". There is a Fix Issue button, but I made sure I did not click that; I'm afraid it'll only complicate my problems.
I've followed the Parse iOS Notifications Guide and configured my app according to the guide. I've done the following:
Requested a certificateSigningRequest from Keychain Access
Created a new App ID in iTunes Connect, with a new bundle identifier. I made sure I went into my info.plist in my app to change and match the new App ID created in iTunes Connect.
Using the new App ID in iTunes Connect, I created the Production SSL Certificate.
Installed it to my KeyChain Access, and exported it to upload to Parse.
Next, I deal with the Provision profile. Once again, I went in iTunes Connect, created a new provisioning profile, made sure to link the correct bundle ID with it, and downloaded it.
Here comes the part that may have fudged up the process. In the Parse Notifications Guide, they instructed users to double click the downloaded file - in my case, it was called "AdHocDistribution.mobileprovisioning", which will install itself into Xcode.
Download the generated provisioning profile from the next screen by selecting the "Download" button.
Install the profile by double-clicking on the downloaded file.
This should open Xcode's Organizer in the Devices pane. Your new provisioning profile should appear in the Provisioning Profiles section of your Library. Make sure that the status for this profile is "Valid profile". If the profile is invalid, make sure that your developer certificate is installed in your Keychain.
Double clicking the mobileprovisioning file did not lead to any discernable feedback telling me that it was installed.
Finally, I modified the code signing fields in my project and target's build settings to match the one I downloaded.
Finally, I try running the app, and the error popped up. Please help!
Create a provisioning profile of the application using ADHOC from dev account.Download and control drag it to Xcode, Under provisioning profile in your screenshot select that.
Do the same for Target and project and you will be good to go!
P.S. also select the Team as your dev account
Please follow the following steps..
Check all your targets's Code signing Section. Like Project and Test Target.
Check the project "identifier" in all your .Plist file.
Add the account in Xcode Account section, by choose from :
XCode-> Preference - > Account -> click on +sign and add your apple developer account.
Hope it will help you.

Xcode The executable was signed with invalid entitlements [duplicate]

This question already has answers here:
The executable gets signed with invalid entitlements in Xcode
(40 answers)
Closed 2 years ago.
I would install an application in my mobile phone by using Xcode but it was not installed with following an error message.
Error Message
"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)"
Matters of Inquiry
Why does the error message occur while I install the application?
Would you mind if you can give me the solution of this problem?
Check if you are using Entitlement file in Build Setting > Code Signing Section.
If yes, try deleting that file name.
You are using Entitlement file
The entitlements file defines certain capabilities of your app. Usually, the file is automatically generated by Xcode when you enable a capability for your app. You only need the file if you enable certain capabilities, e.g. Healthkit integration. If you'd like to use these features, you have to add it. Otherwise, Apple will reject your app.
To fix this
Go to the build settings of your target.
Make sure that you have "All" selected instead of "Basic"
Type "entitlements" into the search box
The result is the build setting where you can specify where your
entitlements file is located
Remove them
You are using the wrong Provisioning Profile
A provisioning profile is a collection of digital entities that uniquely ties developers and devices to an authorized iPhone Development Team and enables a device to be used for testing. A Development Provisioning Profile must be installed on each device on which you wish to run your application code.
Go to Build Settings > Code Signing > Provisioning Profile
Select a development profile under Team
Please ensure that the Team in the project, target and tests are the same.
Bundle Identifier and App ID do not match
Go to the build settings of your target
Select Packaging and change your App ID to match the Bundle ID
Clear cache in Xcode
Command-Option-Shift-K to clean out the build folder. Even better, quit Xcode and clean out ~/Library/Developer/Xcode/DerivedData manually.
You are using wrong provisioning profile to build your app on devices make sure you are using right type of profile. I was using App Store Deployment profile to build on devices. Use ad-hoc profiles or development profiles to build on your devices.
You are using the wrong Provisioning Profile i.e. Distribution for development. Go to Build Settings > Code Signing > Provisioning Profile and select a development profile.
Check the if your "Code Signing" configurations are same on "PROJECT>Build Settings" and "TARGETS>Build Settings".
Personnally, I use for both:
- "Code Signing identity": iOS Developer
- "Provisioning Profile" : Automatic
Check your "Team" parameter at your targets. It should be the same for your project and tests.
For me none of the above answers worked. I tried to remove every code signing certificate from Keychain and build the app. When I resolved all code signing related errors for my target I still had some of them in Tests target. It has been set by someone else from my team before. I just switched to iOS Developer, and the invalid entitlement error went away.
I was getting this problem after moving app from one account to another. I tried all the solutions given by others, those might be correct in other cases. But I fixed the problem by going File -> Workspace Settings -> Build System and choosing "Legacy Build System". I'm using XCode 10.3.
I faced this problem and my problem was My Bundle Identifier and AppID was not matched. Please change your Bundle Identifier in Build Settings->Packaging like your AppID.
Just goto Apple developer portal from where you have downloaded provisioning profile.
Select your profile click edit and check whether all certificates are selected or not.
In my case selecting all certificates and downloading that new profile solved the above mentioned issue.
Also make sure in your schema you have set "Build configuration" to the correct configuration, in most cases "Debug".
I got this error when export the ipa with App Store provisioning wrongly during CI process. My intention was to export with Adhoc provisioning.
I had the same error. My problem was that I checked 'Enable HealthKit' in Entitlements.plist, but I did not enable HealthKit when I created the App Id.
In short, all entitlements in your app (Entitlements.plist file in your project) should be configured on the provisioning profile you use (Provisioning profile = app ID + certificate + information about devices your app can run on).
Had the same problem that suddenly popped up in my project from one day to the next.
What fixed it for me was turning "Automatically manage signing" off and on again for both targets and making sure the right development team was selected once it was on again (defaults to none in my project).
It could seems a easy solution but I solved updating my iPhone's iOS version.
All answers I have seen talk only about xcode update. It was strange because my old iOS version was iOS 13.3.3 and it worked on another iPhone with iOS 13.6. After updating to iOS 13.7 it worked.

Deploying iOS app for development on multiple devices

I'm working on developing an application for iPhone. I recently acquired a new development device, and would like to deploy the application to this device for testing, in addition to the device I have already been using.
When I try to deploy the application, I get an error saying that:
No matching provisioning profiles found: None of the valid provisioning profiles include the device "name of my device"
I have read the documentation on Apple's official developer portal, but it's unclear to me what I can re-use on this new device and what has to be created for it uniquely.
Can I use the same AppId? (I would hope so, since I can only have one app Id for a given Bundle ID)
I generated a new certificate request and named it something different. I also tried to add the new development device as a device allowed to use the provisioning profile I am already using in the application. Apparently, my code signing identity is still not found when trying to build on the new device. Any suggestions?
You have to add your new device identifier to the Provisioning Profile in the Development Portal. The process should be automated if you connect the device while Xcode is open, check out the Organizer for registration progress.
Delete old profile from xcode and download fresh copy of provisioning profile with new device identifier. Add this profile to xcode.
Go to Project -> Build settings-> Code Signing -> there select latest downloaded profile.
It will work

Resources