I run the fastlane to make a build, but get the following output:
[17:51:56]: fastlane finished with errors
[!] To reset the provisioning profiles of your Apple account, you can use the match nuke feature, more information on https://github.com/fastlane/fastlane/tree/master/match
Fistly, run match nuke development, it will clear the profiles and certs on apple's develop site.
Then, run match development, pay attention to run in the project folder.
Related
I need to set up my team's computers for running a macos app made with Flutter, for that purpose I read I need certificates and profiles and that fastlane match is an ideal tool for handling this pain. The thing is that this error shows up even after running the command properly:
error: Provisioning profile "match Development your.company.reverse.domain macos" doesn't include signing certificate "Apple Development: Your Company Team (ABC1N23WN4)". (in target 'Runner' from project 'Runner')
My tech lead said that this happens because my computer isn't (or wasn't) registered in our Apple account when the certificates were generated, so for automatizing the registering of every team member (and certificate rebuilding aftwerwards) I need to write a script for both registering my teammate's Mac and rebuilding the provisioning profiles. How can I do that?
Create a fastfile with the following:
default_platform(:ios)
platform :ios do
desc "Set up your computer for running the macos app"
lane :install do
name = "#{`whoami`.chop}'s Mac (#{`hostname`.chop})"
uuid = `ioreg -d2 -c IOPlatformExpertDevice | awk -F\\" '/IOPlatformUUID/{print $(NF-1)}'`
register_device(
name: name,
udid: uuid.chop,
platform: "mac"
)
match
end
end
That way you will be able to add a new device to you apple account by just running fastlane install in your macos dir.
Note: make sure you have a good configured Matchfile like the following one for having match working properly (or define in the lane the parameters otherwise):
storage_mode("git")
platform("macos")
# recreate the certificates if a new device was effectively added
force_for_new_devices(true)
# recreates everytime. Not a sin to use it but with force_for_new_devices it's not needed
# force(true)
# solves a lot of issues and is cheap
include_all_certificates(true)
# it will only work with development in certain circumstances
type("development")
I couldn't find a solution and I spent several days trying to configure fastlane to use an existing enterprise distribution certificate to sign an iOS app. The app is written in Ionic Framework.
Please share how you DID it, either native iOS app, Ionic etc...
Thanks
I would use Fastlane gym for this purpose to build and sign your app.
1.) Make sure you've added the enterprise certificate (.cer) and it's private key (.p12) into the Keychain Access app on your Mac, and the certificate is not expired.
The certificate should be in the login keychain, you can filter for the My Certificates to show it.
2.) First, make sure that you can do an archive and you're able to sign it with Xcode:
Set Generic iOS Device then go Product > Archive. After the archive is created, select Distribute App > Enterprise > Automatically manage signing > ...
If this fails, it will fail with Fastlane, too. It's important to check that you can distribute the app in Xcode, first. It might happen that you have some kind of problem with the Provisioning Profiles and your problem is not related to Fastlane at all.
3.) Finally, in the Fastfile, implement something like this:
lane :archive_enterprise do
gym scheme: 'Scheme name',
configuration: 'Release',
export_method: 'enterprise',
clean: true
end
4.) Execute with fastlane archive_enterprise in Terminal.
$ flutter ios build --release
It shows Multiple valid development certificates available (your choice will be saved):
However it doesn't show the distribution certificate selection, I use --release flag though,,,
I checked I have installed production certification correctly in local machine.
Is there any clue to solve??
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
note: Using new build systemnote: Planning buildnote: Constructing build descriptionerror: No account for team "null". Add a new account in
the Accounts preference pane or verify that your accounts have valid credentials. (in target 'Runner' from project 'Runner')error: No
profiles for 'jp.****.****' were found: Xcode couldn't find any iOS App Development provisioning profiles matching
'jp.****.****'. (in target 'Runner' from project 'Runner')
#whitebear, I am assuming you're trying to release your iOS app? Have you tried manually configuring distribution certificate in Xcode? I usually do this,
Open Runner.xcworkspace in Xcode
Configure distribution certificate in Xcode
Run flutter build ios in Android Studio project terminal
Then archive in Xcode to publish
To address the 'No Account for team null' issue.
Make sure you have the DEVELOPMENT_TEAM build setting set properly.
I think this is because when you are sign your app with a a provisioning profile associated with a development team Xcode expects your DEVELOPMENT_TEAM building setting to match.
I typically let XCode Automatically Manage Signing when I'm building/running my app in development and thought that doing so would automatically set the DEVELOPMENT_TEAM build setting, but that doesn't seem to be the case.
I signed up for TestFlight.
Then I followed all steps in this tutorial:
But Xcode throws this warning:
Application failed codesign verification. The signature was invalid,
contains disallowed entitlements, or it was not signed with an iPhone
Distribution Certificate. (-19011)
It smells like there is a lot more work to do than what they wrote in the tutorial.
Is there a complete tutorial which walks through every step without stepping over anything?
And do I need to add the SDK even for simple beta tests?
(Edit: No, SDK is not needed!)
Start with logging into the Provisioning Portal, and adding a test device or two, under Devices. Then go to Provisioning and create a new one for the appID you are working on and add those devices.
Back to Xcode and use the Organizer:Devices:Provisioning Profiles to download (refresh) the Provisioning Profile. Set your project's Debug scheme's signing to use that developer profile. You should then be able to build and then archive. Once archived, do an ad hoc distribution and save off that file to the desktop.
Go to your account on TestFlightApp.com and press the Upload Build button. Drop the file you saved on your desktop, into the Build upload area. TestFlightApp will give you errors if the app wasn't bundled for adhoc or signed properly.
Now, here is where TestFlightApp.com will save you work. Send out invites to friends from within TestFlightApp.com. TestFlightApp.com will manage notifying them and as they create an account, it will also help them find their UDIDs. These UDID's can be batched up and later downloaded by you and re-uploaded to the Apple Provisioning Center, into your devices section.
You then use Xcode to refresh your profiles, and rebuild the app, archive, and upload to testflightapp. Then you can select which one of your testers will get to see this build and what message they should be sent. Your testers will not have to figure out how to download the files and install them using iTunes or other app, they merely press the install button.
Believe me, while it is still a bit of work, it is so much better than not using TestFlightApp.com, especially if your users are not very savvy about app installation. In the future, you can use the TestFLight SDK to gather crash reports and usage information for your debug builds.
See the following for some more info: TestFlight beta-testing iOS app
I'm getting this error when trying to build:
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
This is not my first time building apps. This will be my sixth app, so this thing is tripping. I'm making an AppStore distribution build, so I dont need entitlements. I dont have any entitlement files specified in my code signing entitlement. ITS BLANK. For the project info pane and the target info pane, there is absolutely nothing in my code signing entitlements, which is how its supposed to be. Yet I still get this dumb error. Remember, this is NOT an adhoc build, rather it is an AppStore build. What can be the problem??
Do you have multiple versions of Xcode installed (such as one of the betas)? Did you change the install directory after installing your current stable version of Xcode? Xcode installs things for code signing that can break if you either install a new version of Xcode simultaneously, or you rename your /Developer directory.
Also, try checking the console for related error messages.