Search code examples
iosxcodecordovaionic4mobile-development

Xcode 15.3 build failed


I have ionic project with the following details:

  • ionic v4.12.0
  • cordova v12.0.0
  • Jnode v14.20.0
  • Cordova IOS v6.1.0
  • Xcode v15.3
  • Deployment target 11.0

All my code work perfect untill I upgrade xcode to v15.3

What I did after upgrade xcode:

  • rm ios platfrom
  • add ios platform
  • rm node_modules and package-lock
  • npm install
  • Change Deployment target to 12.0 in config.xml and podfile

config.xml

<preference name="deployment-target" value="12.0" />

podfile

platform :ios, '12.0'
use_frameworks!
target 'project' do
    pod 'FBSDKCoreKit', '5.5.0'
    pod 'FBSDKLoginKit', '5.5.0'
    pod 'FBSDKShareKit', '5.5.0'
    pod 'FirebaseMessaging', '~> 2.0.0'
    pod 'GoogleSignIn', '5.0.2'
end

Then I'm ready to build ios platform I used commaned ionic cordova build ios

Got error

Ld /Users/Admin/project/platforms/ios/build/emulator/nanopb.framework/nanopb normal (in target 'nanopb' from project 'Pods')
(1 failure)
xcodebuild: Command failed with exit code 65
[ERROR] An error occurred while running subprocess cordova.

What I try:

  • Install cocoapods
  • Update pod
  • install ffi
  • reinstall ios platform
  • build using xcode v15.2 and v15.1 but got same error
  • brew install ios-deploy
  • Update cordova-plugin-ionic-webview
  • Run in xcode got the following error
  • Increase deployment target to 13.0
SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target

Please help. Thank you.


Solution

  • Your Pods PROJECT can have a Deployment Target that is different from one or more of the TARGETS. You will get the error about 'libarclite' when one or more of the TARGETS have a Minimum Deployments for iOS set to less than 12.0. The line in the Podfile "platform :ios, '12.0'" only sets the PROJECTS Deployment Target, not the individual TARGETS.

    Go to the Build Settings for each of the TARGETS and either:

    1. change the line "iOS Deployment Target iOS X.X" to 12.0 or higher, or
    2. if you want to use the PROJECTs Deployment Target click on that line and remove it using the delete key.