Open josh-m-sharpe opened 4 years ago
The error makes me think it's using the wrong cert because "match AppStore my.app.identifier"
is the correct provisioning profile
Can you post the complete output of running that lane?
Thinking it was bad/old certs or profiles, I deleted a bunch of them up on the portal. Here's output from the last run where the profile was rebuilt. I still got the same error though.
+---------+----------------------------------------------------------+
| Detected Values from './fastlane/Matchfile' |
+---------+----------------------------------------------------------+
| git_url | git@github.com:YellowApps/fastlane_certificates.git |
+---------+----------------------------------------------------------+
+-----------------------+----------------------------------------------------------+
| Summary for match 2.129.0 |
+-----------------------+----------------------------------------------------------+
| type | appstore |
| git_branch | yellow |
| app_identifier | ["com.yellowhq.district.www"] |
| username | apps@yellowhq.com |
| team_id | 9DF2XQJMD5 |
| readonly | false |
| storage_mode | git |
| git_url | git@github.com:YellowApps/fastlane_certificates.git |
| shallow_clone | false |
| clone_branch_directly | false |
| keychain_name | login.keychain |
| force | false |
| force_for_new_devices | false |
| skip_confirmation | false |
| skip_docs | false |
| platform | ios |
| verbose | false |
+-----------------------+----------------------------------------------------------+
[09:48:11]: Cloning remote git repo...
[09:48:11]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[09:48:15]: Checking out branch yellow...
[09:48:15]: 🔓 Successfully decrypted certificates repo
[09:48:15]: Verifying that the certificate and profile are still valid on the Dev Portal...
Available session is not valid any more. Continuing with normal login.
[09:48:23]: Installing certificate...
+-------------------+-----------------------------------------------------------------+
| Installed Certificate |
+-------------------+-----------------------------------------------------------------+
| User ID | 9DF2XQJMD5 |
| Common Name | iPhone Distribution: Yellow, Inc (9DF2XQJMD5) |
| Organisation Unit | 9DF2XQJMD5 |
| Organisation | Yellow, Inc |
| Country | US |
| Start Datetime | 2019-08-17 07:24:02 UTC |
| End Datetime | 2020-08-16 07:24:02 UTC |
+-------------------+-----------------------------------------------------------------+
[09:48:25]: Installing provisioning profile...
[09:48:26]: Provisioning profile '7f60037c-09ee-4720-9276-b4640b5465ac' is not available on the Developer Portal for the user apps@yellowhq.com, fixing this now for you 🔨
+-------------------------------------+----------------------------------------------------+
| Summary for sigh 2.129.0 |
+-------------------------------------+----------------------------------------------------+
| app_identifier | com.yellowhq.district.www |
| username | apps@yellowhq.com |
| force | false |
| cert_id | QW7Z9C8PL3 |
| provisioning_name | match AppStore com.yellowhq.district.www |
| ignore_profiles_with_different_name | true |
| team_id | 9DF2XQJMD5 |
| platform | ios |
| adhoc | false |
| developer_id | false |
| development | false |
| skip_install | false |
| skip_fetch_profiles | false |
| skip_certificate_verification | false |
| readonly | false |
+-------------------------------------+----------------------------------------------------+
[09:48:26]: Starting login with user 'apps@yellowhq.com'
Available session is not valid any more. Continuing with normal login.
[09:48:29]: Successfully logged in
[09:48:29]: Fetching profiles...
[09:48:31]: Verifying certificates...
[09:48:31]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[09:48:36]: Creating new provisioning profile for 'com.yellowhq.district.www' with name 'match AppStore com.yellowhq.district.www' for 'ios' platform
[09:48:38]: Downloading provisioning profile...
[09:48:39]: Successfully downloaded provisioning profile...
[09:48:39]: Installing provisioning profile...
/var/folders/tr/b1508pgj5gz1dq3b0g2ds34r0000gn/T/d20190817-38918-qfvxnx/profiles/appstore/AppStore_com.yellowhq.district-.www.mobileprovision
[09:48:39]: Installing provisioning profile...
[09:48:41]: 🔒 Successfully encrypted certificates repo
[09:48:41]: Pushing changes to remote git repo...
[09:48:47]: Finished uploading files to Git Repo [git@github.com:YellowApps/fastlane_certificates.git]
+---------------------+----------------------------------------------------------------+---------------------------------------------------------+
| Installed Provisioning Profile |
+---------------------+----------------------------------------------------------+---------------------------------------------------------------+
| Parameter | Environment Variable | Value |
+---------------------+----------------------------------------------------------+---------------------------------------------------------------+
| App Identifier | | com.yellowhq.district-.www |
| Type | | appstore |
| Platform | | ios |
| Profile UUID | sigh_com.yellowhq.district.www_appstore | 2e15dea3-8f2e-495d-9c85-fe79b40c5ee2 |
| Profile Name | sigh_com.yellowhq.district.www_appstore_profile-name | match AppStore com.yellowhq.district.www |
| Profile Path | sigh_com.yellowhq.district.www_appstore_profile-path | /Users/jsharpe/Library/MobileDevice/Provisioning |
| | | Profiles/2e15dea3-8f2e-495d-9c85-fe79b40c5ee2.mobileprovision |
| Development Team ID | sigh_com.yellowhq.district.www_appstore_team-id | 9DF2XQJMD5 |
+---------------------+----------------------------------------------------------+---------------------------------------------------------------+
[09:48:47]: All required keys, certificates and provisioning profiles are installed 🙌
[09:48:47]: Setting Provisioning Profile type to 'app-store'
[09:48:47]: -------------------
[09:48:47]: --- Step: ionic ---
[09:48:47]: -------------------
[09:48:47]: $ ionic cordova prepare ios --no-interactive --release --device --prod
[09:48:47]: â–¸ > ionic-app-scripts build --prod --target cordova --platform ios
[09:48:51]: â–¸ [09:48:51] ionic-app-scripts 3.2.4
[09:48:51]: â–¸ [09:48:51] build prod started ...
# ETC,ETC,ETC
[09:50:49]: â–¸ === BUILD TARGET District OF PROJECT District WITH CONFIGURATION Release ===
[09:50:49]: â–¸ Check dependencies
[09:50:49]: â–¸ Code Signing Error: Provisioning profile "match AppStore com.yellowhq.district.www" doesn't include signing certificate "iPhone Developer: Josh Sharpe (TG37YNE2N4)".
[09:50:49]: â–¸ Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.4'
[09:50:49]: â–¸ ** ARCHIVE FAILED **
[09:50:49]: â–¸ The following build commands failed:
[09:50:49]: â–¸ Check dependencies
[09:50:49]: â–¸ (1 failure)
[09:50:49]: â–¸ xcodebuild: Command failed with exit code 65
[09:50:49]: â–¸ [ERROR] An error occurred while running subprocess cordova.
[09:50:49]: â–¸ cordova compile ios --release --device --packageType=app-store --developmentTeam... exited with exit code 65.
[09:50:49]: â–¸ Re-running this command with the --verbose flag may provide more information.
+------------------------------------+-----------------------------------------------------------------------------------------------+
| Lane Context |
+------------------------------------+-----------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios build |
| SIGH_PROFILE_TYPE | app-store |
| MATCH_PROVISIONING_PROFILE_MAPPING | {"com.yellowhq.district.www"=>"match AppStore com.yellowhq.district.www"} |
+------------------------------------+-----------------------------------------------------------------------------------------------+
After this build, I can open xcode and set the signing profiles manually, and the app builds, however xcode is acting oddly.
First, there's no team set in xcode. Strange since other apps I build under different teams are set correctly. I can select the correct team manually, but it seems I shouldn't have to do that since it was set by fastlane.
Secondly. I can select the "Signing (Debug)" profile without issue ("match Development"), but when I go to select the "Signing (Release)" profile, the only "eligible" profile in that dropdown is the "match Development" profile. The "match AppStore" profile is listed as inelligible -- but If I select "match AppStore", the items in that dropdown shuffle around and the "match Appstore" becomes eligible. Very odd.
After all of that, xcode will build the app.
As stated above, I run this lane against a few apps on different teams. Only one of them is showing these errors at this point. I couldn't tell you what the difference between the accounts is. For this broken one, I've deleted all certs & profiles directly in the dev portal - and manually out of ~/Library/MobileDevice/Provisioning Profiles
, hoping fastlane would recreate them correctly. No dice.
I take that back - I've managed to break it for another org/team now. :/
Signing always is a pain, especially for Ionic Cordova projects, that are set up in strange ways (which they are out of the box).
I would create a new Ionic app, and set everything up in a clean way (meaning: no manual changes in Xcode, trying only to use Fastlane for everything and see if you can get it to work as expected that way. If yes, you have your base configuration you can/should create for all other projects to get them to hopefully work.
I fixed it adding device: false
My release lane looks something like this, but it ultimately fails with a code signing error (see below). The app gets built though, and if I fiddle around in xcode and change
Signing (Release)
then I can get xcode to build my app for release. But, why doesn't the ionic build command finish successfully? It seems like I've matched my app store profile right before building withionic
- so it should work?Thanks!
(I'm using git_branch and team_id with
match
because I work across multiple development teams)Error:
Code Signing Error: Provisioning profile "match AppStore my.app.identifier" doesn't include signing certificate "iPhone Developer: My NAME (ABCDEF1234)".