ionic-cli: Build fails on Xcode 9.0.0. Locating signing assets failed

Description: Since updating to Xcode 9 i’m having this issue when building my iOS app for release.

This output from the terminal caught my eye: Locating signing assets failed. I’ve read about this new exportOptions.plist file in Xcode 9 and after build the contents of it looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>compileBitcode</key>
    <false/>
    <key>method</key>
    <string>development</string>
  </dict>
</plist>

I’ve tried manipulating it manually but it changes back after the build.

I even tried creating an entire new Ionic project from scratch but with the same result

Steps to Reproduce:

  • Create new Ionic project
  • Add ios platform
  • Open project in Xcode and add valid provisioning profiles for dev and release (no automatic signing)
  • run ionic cordova build ios --prod --release

Output:

 ** ARCHIVE SUCCEEDED **
        
        2017-09-25 10:43:34.672 xcodebuild[13360:16241153] [MT] IDEDistribution: 
        -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path 
        '/var/folders/kr/rdgzgkfn0dq695j01249gkh40000gn/T/Kalmar Öland 
        Airport_2017-09-25_10-43-34.671.xcdistributionlogs'.
        2017-09-25 10:43:34.759 xcodebuild[13360:16241153] [MT] IDEDistribution: Step failed: 
        <IDEDistributionSigningAssetsStep: 0x7fae3b9a0370>: Error 
        Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." 
        UserInfo={NSLocalizedDescription=Locating signing assets failed., 
        IDEDistributionSigningAssetStepUnderlyingErrors=(
             "Error Domain=IDEProvisioningErrorDomain Code=9 \"\"Kalmar O\U0308land Airport.app\" 
        requires a provisioning profile.\" UserInfo={NSLocalizedDescription=\"Kalmar O\U0308land 
        Airport.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to 
        the \"provisioningProfiles\" dictionary in your Export Options property list.}"
        )}
        error: exportArchive: "Kalmar Öland Airport.app" requires a provisioning profile.
        
        Error Domain=IDEProvisioningErrorDomain Code=9 ""Kalmar Öland Airport.app" requires a 
        provisioning profile." UserInfo={NSLocalizedDescription="Kalmar Öland Airport.app" requires a 
        provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" 
        dictionary in your Export Options property list.}
        
        ** EXPORT FAILED **
        
        Error: Error code 70 for command: xcodebuild with args: -exportArchive,-archivePath,Kalmar Öland 
        Airport.xcarchive,-exportOptionsPlist,/Users/timmyrosen/Sites/kalmar-airport/platforms/ios/exportOptions.plist,-exportPath,/Users/timmyrosen/Sites/kalmar-airport/platforms/ios/build/device

My ionic info:

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.12.0
    ionic (Ionic CLI) : 3.12.0

global packages:

    cordova (Cordova CLI) : 7.0.1 

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : ios 4.4.0
    Ionic Framework    : ionic-angular 3.6.1

System:

    ios-deploy : 1.9.1 
    Node       : v8.4.0
    npm        : 5.3.0 
    OS         : macOS Sierra
    Xcode      : Xcode 9.0 Build version 9A235 

Misc:

    backend : legacy

Anyone else experienced this?

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 23 (2 by maintainers)

Most upvoted comments

@pksorensen Of course. cordova-ios is a npm package. It’s installed automatically by ionic/cordova when you do “ionic cordova platform add ios” To fix the current issues with xCode9, you have to install cordova-ios manually and do it before you add the ios platform. By doing that, when you add the ios platform, it will use the custom package instead of installing the official version.

To install the cordova-ios fork do : npm install https://github.com/jrryhrtn/cordova-ios.git --save

@ShafiqEssani or try to remove and re-add platform ios . (if you have downgraded xcode)

@ElieSauveterre I tried your fork and I still got the error.

Here are the steps I did:

  1. ionic cordova platform rm ios
  2. npm install https://github.com/jrryhrtn/cordova-ios.git --save
  3. ionic cordova platform add ios
  4. ionic cordova build ios

When I try ionic info I get this:

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.12.0
    ionic (Ionic CLI) : 3.12.0

global packages:

    cordova (Cordova CLI) : 7.0.1 

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : ios 4.6.0-dev
    Ionic Framework    : ionic-angular 3.6.1

System:

    ios-deploy : 1.9.2 
    Node       : v8.4.0
    npm        : 5.3.0 
    OS         : macOS Sierra
    Xcode      : Xcode 9.0 Build version 9A235 

Misc:

    backend : legacy