4

I'm trying to use Fastlane and CircleCI to help automate deployments to the iOS App Store. I keep getting an error that says Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'. I've tried using Fastlane Match but that doesn't really seem to help. The important part of my Fastfile is below.

desc "Deploy a new version to the App Store"
lane :release do
  match(type: "appstore")
  gym(scheme: "myapp", workspace: "myapp.xcworkspace", include_bitcode: true, export_method: "app-store") # Build your app - more options available
  deliver(force: true)
end

In order to setup Fastlane Match I ran the following commands.

fastlane match init
fastlane match nuke distribution
fastlane match appstore

I also get the following message right before it installs the provisioning profile.

[11:40:08]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)

Problem is that Stack Overflow relates to Push Services. My app doesn't use push notifications currently. Also I can't really check Keychain Access since it's using Circle CI.

Charlie Fish
  • 18,491
  • 19
  • 86
  • 179

3 Answers3

3

I was able to solve this by unchecking Automatically manage signing for all targets and setting the provisioning profiles for each. I followed this question that provided that information.

Charlie Fish
  • 18,491
  • 19
  • 86
  • 179
2

Try running match with the following arguments

match(type: "appstore", app_identifier: "your.app.identifier", force: true, force_for_new_devices: true)

app_identifier being your identifier for your project. This will generate a new profile for that app_identifier of type appstore.

Harry Singh
  • 826
  • 5
  • 11
  • Testing this now. Will report back once complete. – Charlie Fish Jul 15 '17 at 01:47
  • Same problem. `Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'` – Charlie Fish Jul 15 '17 at 01:59
  • ohh you have an app extension in the project? – Harry Singh Jul 15 '17 at 02:01
  • Yes, 2 app extensions, share extension and an iMessage App – Charlie Fish Jul 15 '17 at 02:02
  • You need to run that same lane for ur app extension as well. – Harry Singh Jul 15 '17 at 02:02
  • Mind providing an example? I feel like I read that somewhere in the docs or something but didn't quite understand it. If I add more app identifiers it gives an error about it not being valid in iTunes Connect or something. Maybe I'm just not understanding quite how it works. – Charlie Fish Jul 15 '17 at 02:03
  • I remember adding `OneSignal` to my project as an extension and I had to generate profiles for that extension. If you select ur project in Xcode you will see the extensions under targets if you select them you will find the bundle id. – Harry Singh Jul 15 '17 at 02:06
  • Ok but what do you mean run that same lane for app extensions as well? Like how can I do that? – Charlie Fish Jul 15 '17 at 02:07
  • You would simply run that `match` lane three before running `gym` command. Each `match` would point to a different target bundle identifier. Do you get what I mean ? – Harry Singh Jul 15 '17 at 02:11
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/149269/discussion-between-charlie-fish-and-harry-singh). – Charlie Fish Jul 15 '17 at 02:11
2

I had the same issue while migrating to Xcode 9 from Xcode 8 (where it used to work).

Unchecking Automatically manage signing for all my Frameworks(Pod) under Targets was the solution.

shim
  • 9,289
  • 12
  • 69
  • 108
Vineeth
  • 692
  • 3
  • 9
  • 18