Can't create release iOS build


#1

This is error I get when I try to build distribution build.

Check dependencies
Code Signing Error: Mimic has conflicting provisioning settings. Mimic
is automatically signed for development, but a conflicting code signing
identity iPhone Distribution has been manually specified. Set the code
signing identity value to “iPhone Developer” in the build settings
editor, or switch to manual signing in the project editor.
Code Signing Error: Code signing is required for product type
’Application’ in SDK ‘iOS 11.0’

It works when I build in Developer mode, but the problem are push notifications then, they only work in sandbox mode.


#2

What is the exact command you are running to build?


#3

I’m using ionic cordova build ios --device --release --prod


#4

Maybe


#5

Tried that already, didn’t work


#6

Sorry to hear that. Do you deploy your app directly to your iTunes account with the help of Xcode and Application loader or do you use ionic pro or something else?

If you deploy your app thru XCode/Application loader maybe you could try to build your ios app without using --release in your cmd line. Does that help?

Respectively just

ionic cordova build ios --prod

I had some problem using --release and iOS cmd line, so now I just don’t use --release for iOS (of course I do for android). Since I upload my app with Xcode and Application loader seems this isn’t a problem


#7

The problem is that push notifications only work in sandbox mode then which is not good


#8

Well then I’m out of idea. Good luck, hope you’ll find a solution soon


#9

@dariot I am able to generate iOS builds where push notifications work, but I avoid using the --release as some settings are easier configured via Xcode.

At the very least, signing configurations will need to be set to automatic and, if you want push notifications, you’ll need to configure both the plist permissions and capabilities of your app.

If using Ionic’s supported phonegap-plugin-push (https://ionicframework.com/docs/native/push/), then you must set gcmSandbox (or fcmSandbox in v2.0+) to false when uploading to the App Store (for TestFlight or Production).

Hence, my release process goes:

ionic cordova build ios --prod

Open in Xcode.

If first time, set permissions and certificates for push notifications. Note all Firebase configurations take place in ionic and you’ll need to re-build to update those settings.

Product -> Archive, Upload to app store. You can immediately test push notifications with any version installed through TestFlight.


#11

@mwiley63
They work for me too but only from sandbox mode: gateway.sandbox.push.apple.com:2195

I don’t use fcm for push and I already set it to false. You’re saying that I should upload to TestFlight before being able to test push in production mode?

When I was creating native app I used Diawi to test production notifications.


#12

@dariot yes, upload to TestFlight before testing push notifications in production.

If I recall correctly, I configured a separate certificate for production notifications; these builds could only be installed after uploading to Apple and therefore TestFlight/App Store are the only methods to install and test on a device.

I’m not aware of phonegap-push-plugin working without Firebase, but if it works in sandbox mode then I would try TestFlight with sand box set to false.


#13

@mwiley63 I tried your way but I can’t upload to store because build was not made with iOS Distribution certificate. Something else is wrong here and that’s why my notifications work only in sandbox


#14

@dariot I see, that does make sense. You will need an iOS distribution cert to serve iOS notifications in production builds.


#15

Somehow I solved it

I added my certificates to KeyChain

Sm_koxXGSIavPj1vH3CMMg