Adding aps-environment entitlement to UITest Target in Xcode - xcode

I am testing an app that uses Push notifications. Within the main app target, the 'Push Notifications' (inside the Capabilities tab) is set to on.
I created a UITest target for UI Automation Testing. UITest targets do not contain a 'Capabilities' tab so I am unable to set this target to use push notifications. When I try and Automatically manage signing, I get the following error message:
"Automatic signing can't add the aps-environment entitlement to your provisioning profile. Switch to manual signing and resolve the issue by downloading a matching provisioning profile form the developer website."
The trouble is the Xcode managed provisioning profiles do not seem to appear in the Developer Portal anymore.
Does anyone know a way round this? Is there perhaps a build setting within the UITest Target that I can set to add the aps-environment entitlement (instead of using the Capabilities tab).
PS - looking online all accepted answers for this error are to switch on Push notifications in the 'Capabilities' tab (something we don't have in the UITest target):
e.g. Error when running ionic cordova run ios - seems to be related to push notification

Fixed this by removing the need for entitlements from the XCUITest Target. Here are the details:
Selected the UITest target >
Went to the UITest 'Build Settings' tab >
Searched for 'Code Signing Entitlements' >
Removed all entitlement values here (since only removing them from the XCUITest target not the app itself)
This fixed the error and allowed it to work.

Related

React Native. OneSignal. No profiles for 'com.myapp.ios.OneSignalNotificationServiceExtension' were found

I have followed OneSignal's setup instructions for React Native, but
When I try to upload app to TestFlight I get the following error 'No profiles for 'com.myapp.ios.OneSignalNotificationServiceExtension' were found'
My XCode is 10.0.
Anyone help me? Thanks in advance.
Below instructions assume that your app is building and you have successfully deployed TestFlight builds in the past (since that is where I started from). I had to use the below as "Automatically manage signing" resulted in a build fail in Xcode 10:
Go to https://developer.apple.com/account/ios/profile
Click "+' to create a new provisioning profile
Choose the type of provisioning profile you want (I went with App Store since I use TestFlight builds to test)
for App ID choose "XC YOUR_DOMAIN_APP_ID OneSignalNotificationServiceExtension" and make sure enable the App Groups capability
after you have downloaded the provisioning profile, go into Xcode, turn off automatically signing on the OneSignalNotificationServiceExtension target in General tab and import the provisioning profile you just downloaded.
Use Product > Archive as usual to create your ipa file for App Store upload as usual
I'm getting the same error on appcenter. You can temporarily workaround this problem if you create a new provision file for the OneSignalNotificationServiceExtension identifier and sign your OneSignalNotificationServiceExtension with this provision.
(Your app provision should be different. your app -> com.app.example)

Xamarin No installed provisioning profiles match the installed iOS code signing keys

I am trying to run my app locally and not through an emulator.
These are the following things that I have done:
set up the free provisioning profile
"trusted" my iPhone when prompted
Enabled these settings for provisioning profile:
However, I am still getting this error when trying to run the app locally on an iPhone
No installed provisioning profiles match the installed iOS code
signing keys
What else can be done to run my app locally?
Log into the Apple Developer member center and review your certificates. Down to the left you should see the Provisioning Profiles title. Click it and you'll find a list of the profiles you have. Now you need to create one with the same app identifier that your app has in Xamarin (you find it in the Info.plist file).
After that you need to open XCode and download it through Xcode -> Preferences -> Accounts.
Clean, rebuild and debug Xamarin project and try again.
Go to xcode/preference/ account add a apple ID if you don have any...if you have double click in the name ...and look the name appear in iOS Team Provisioning Profile.
Now open in xamarin the info.plist and in Bundle Identifier put this name.
and now should load a provisional profile.

How do you build an open source Xcode project without signing?

I've cloned an open source Xcode OSX/Cocoa project (SatelliteEyes) and am attempting a build with Xcode 6.1.1. In the project settings, the Bundle Identifier is the project owner's, and the Signing option is Mac App Store. If I set the Signing option to None, I am still prompted for a signing identity and I cannot build the project (the No signing identity found dialog appears, despite having set Signing to None). In addition, Xcode is displaying the No signing identity found warning with the usual Fix Issue button, despite setting the Signing option to None.
Under Build Settings, I have changed the Code Signing Identity options for Debug and Release to Don't Code Sign.
Despite this, Xcode still prompts me with the No signing identity found dialog. Why the frack is Xcode asking for a signing identity when I've got signing turned off everywhere?
I just want to build this project and run it locally to see my changes before contributing a patch. How do I do this?
I've gone through this multiple times and have been able to recreate a series of steps that work. What I did:
do not manually select Signing None under the General project settings.
only set the Debug Code Signing Identity to Don't Code Sign under Build Settings
Same goes for any subproject targets.
In other words, I was only able to build without signing by only manipulating the Code Signing config under the target Build Settings configuration.
I will now walk off this momentary bout of depression.
There are two things you can try:
Make sure you're not targeting a real device in the top left corner.
Unplug your iPhone/iPad
Change from the "iOS Device" to an iOS Simulator (iPhone 6)

iCloud set up and provisioning

I am trying to set up iCloud within my iOS application, I have done the following:
Removed all old certs on mac.
Added iCloud to the App in Dev Console - created new container and added to app
Redone the dev provision and downloaded
Installed the provision
Added the iCloud Entitlement to the app
And this is where is all goes wrong...
I can't get the app running again, the app is building but I am getting an error saying:
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
Any ideas??
UPDATE: I have managed to be able to run the application to get everything programmed and put in place, everything is set up iTunes Connect end, all provisions are valid and sync'd.
Now I am getting errors during validation...
There are 4: Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported by iOS. Specifically, key 'com.apple.developer.icloud-container-identifiers' in Payload ------- not supported
Other 3 are similar for other containers!
Maybe it's a late comment, but I post it here in case that somebody is struggling for the same reason.
I encountered this issue on Xcode8 recently when I was trying to archive. Generally, I enabled iCloud with Xcode in following steps:
Enable iCloud inCapabilities panel in my target by setting the toggle to ON.
Check iCloud under my App Identifier in Member Center turns green automatically, and a iCloud container is created automatically with my App Identifier. (Apple's system does this for us.)
Regenerate my certificate with my App Identifier.
Create a new provisioning profile.
Download and install the new certificate and provisioning profile
Select the new provisioning profile in Signing(Release) section in General panel in my target.
Then I got errors like:
Provisioning profile "iCloud Test" doesn't include the com.apple.developer.ubiquity-container-identifiers,
com.apple.developer.icloud-container-identifiers,
and com.apple.developer.icloud-services entitlements.
Code signing is required for product type 'Application' in SDK 'iOS 10.1'
Code signing is required for product type 'Application' in SDK 'iOS 10.1'
At last I found that there were two options in iCloud section under my App Identifier in Member Center. By default, the Compatible with Xcode 5 was selected, but I succeeded by selecting the other option.
If you're just adding iCloud to an app for the first time or want to upgrade to use CloudKit after using an older iCloud container:
Go to the Apple Development Center.
Choose Certificates, IDs & Profiles.
Use the dropdown on the top left to switch between iOS/tvOS/watchOS or macOS
Choose App IDs under the Identifiers section.
Choose your app from the list.
Scroll down to iCloud and make sure it is enabled with a green dot.
If it's not enabled or has a yellow dot, click the button at the bottom of the page to Edit and make sure you've checked iCloud service.
You may also need to create a container under the iCloud Containers section then associate it with this app.
After submitting a report to Apple, it turns out that Apple systems are useless AGAIN!
Ok, so if you are creating a NEW application or you are only just adding iCloud to your application - you will need to make sure the system doesn't pick up or create a iOS8 cloud container!
If it does you need to remove it from your app entitlements file, remove the selected containers in the Apple Developer Console and re-download certs again!
Thanks Apple again!
I got blamed for using pre-released software! I haven't touch Xcode 6 yet!!!
What I did:
- leave only com.apple.developer.icloud-services in entitlements file
- in Capabilities under iCloud marked key value storage and iCloud Documents (cloud kit EMPTY)
- Containers set to specify custom but do not select any of your containers
- This will probably give you RED warning sign under steps but leave it as it is DO NOT FIX
- Regarding provisioning profile Development and Distribution profiles have to have App ID which has iCloud enabled but NOT linked to any container
- In those provisioning profiles set under iCloud OLD version for Xcode 5 etc. not a new one related to iCloud containers
I had an error of "Add iCloud Containers to your App ID".
Automatic signing was unable to resolve an issue with target's entitlements.
I don't even use iCloud Containers, only Key-value storage(keychain).
I also switched in iCloud section under my App Identifier in Member Center from "Compatible with Xcode 5" to "Include CloudKit support (requires Xcode 6)" problem still remains.
So I fixed it like this:
Enable iCloud Capabilities panel in my target by setting the
toggle to ON.
Turn on "Include CloudKit support (requires Xcode 6)" in Member
Center (still got same error).
in Xcode in iCloud Capabilities TURN ON CloudKit (even if you don't
need it) and then turn OFF.
And then problem solved for me!

iPhone Debugging: How to resolve 'failed to get the task for process'?

I have just added a provisioning profile to XCode (needed to support notifications and in app purchase), setup as needed the build configuration for ad hoc distribution, and tried to run the app on the device (I have done this several times in the past, without any problem).
The app is installed, but it does not start. On the console, I see the following message:
Error launching remote program: failed to get the task for process 82.
Error launching remote program: failed to get the task for process 82.
The program being debugged is not being run.
The program being debugged is not being run.
However, if I start the application on the device manually, it works as expected. I have recently installed the latest XCode 3.2 for Snow Leopard. Is this a known bug of this version of XCode or am I doing something wrong?
EDIT: It works fine with release distribution using the development provisioning profile.
I have checked again the ad hoc provisioning profile to make sure it includes the device I am using.
The ad-hoc profile doesn't support debugging. You need to debug with a Development profile, and use the Ad-Hoc profile only for distributing non-debuggable copies.
I have had problems debugging binaries on the device via XCode when the app includes an Entitlements.plist file, which is not necessary to install onto the device for debugging. In general, then, I have included this file for release builds (where it is required for the App Store) and removed it for debugging (so I can debug the app from XCode). That may be your problem here.
Update: As of (at least) August 2010 (iPhone 4.1 SDK) the Entitlements.plist is no longer necessary to include in your application in many cases (e.g., distribution through the App Store.) See here for more information on the cases when Entitlements.plist is required:
IMPORTANT: An Entitlements file is generally only needed when building for Ad Hoc Distribution or enabling Keychain data sharing. If neither of these is true, delete the entry in Code Signing Entitlements. (emphasis mine)
I Had the same issue, but resolved it by following simple following steps :
Make sure you have selected debug rather than release.
In Debug configurations, in project settings, you should have selected developer's profile & no need of specifying the entitlements plist.
Also same setting are there under: Targets: , if not manuall change them to the above for the debug config. It will work.
All the best.
This took me a while to figure out.
If you are using a distribution / ad hoc/ profile you cannot test it through xcode. You will get the error: The program being debugged is not being run.
You can build the app, go to the products folder in your app in xcode, click on the file with your project name and choose reveal in finder. You can drag this app into into iTunes and sync and that point you can test your app on your device.
If you are getting such error, the only reason could be you using a Distribution profile rather than a development profile in Xcode or a missing Entitlement property. If you are not using the Entitlements.plist, then the only possible error could be the app is getting packaged with a distribution profile. You could verify this confirming the build logs. To change this, go to Build Setting of the project and verify Code Signing Entity setting. For debugging to work, this setting should be a developer profile for the configuration that you are currently using.
https://developer.apple.com/library/ios/#qa/qa1682/_index.html
For instant results, delete all mobile provisioning profiles from xcode and install the developer profile that you intend to use.
Almost 2hrs on this issue! And finally I solved it by replacing the
iPhone Developer
to
iPhone Developer: My Dev Account Name
for Debug's CODE_SIGN_IDENTITY:
Select Project Target
Build Settings
Search by "code sign"
Modify CODE_SIGN_IDENTITY section's Debug row with "iPhone Developer: My Dev Account Name", not just "iPhone Developer".
I've no idea why it works, but it does! At least for me!
Environment: Xcode 5.0 (5A1412).
Check ur code signing section.make sure that the code signing is iPhoneDeveloper code signe
Open Entitlements.plist and set the boolean value get-task-allow to YES - the debugger can attach now!
Go to Edit Schemes and under Run -> Info -> Build Configuration, change from Ad-Hoc to Debug. Click OK to save.
It might be that you have an expired development profile on your phone.
My development provisioning profile expired several days ago and I had to renew it. I installed the new profile on my phone and came up with the same error message when I tried to run my app. When I looked at the profile settings on my phone I noticed the expired profile and removed it. That cleared the error for me.
I received this error when I tried to launch app from Xcode as I figured I had selected distribution profile only. Build was successful so I created .ipa file. I used testflightapp.com to run the app. You can use iTunes as well.
As stated by Buffernet, you cannot use a distribution provisioning profile to debug. When I switched to a developer provisioning profile, I got the error "A Valid Provisioning Profile For This Executable Was Not Found".
A quick google for this lead me to the article listed below. From there, I realised that I hadn't got a valid development provisioning profile as my iPhone hadn't been added to the Provisioning Portal and all the other stuff involved.
Make sure you run an iPhone developer provisioning profile and your device has been added to the provisioning portal!
http://iosdevelopertips.com/xcode/a-valid-provisioning-profile-for-this-executable-was-not-found.html
Yes , Provisioning profiles which are for distribution purpose, i.e. Distrutions provisioning profiles do not support debugging and gives this error. Simply create and use debug provisioning profile (take care of this when creating provisioning profile from developer.apple.com account).
I just changed my bundleIdentifier name, that seemed to do the trick.
I've patched my project with JailCoder http://jailcoder.com/ and problem resolved.
Just download It and drag your xcode project to It.

Resources