Thursday, September 28, 2023
HomeiOS Developmentios - Migration to Xcode 13 breaks Pod construct and precompile...

ios – Migration to Xcode 13 [M1] breaks Pod construct and precompile headers for any configuration apart from Launch

[ad_1]

I recently updated to a new MacBook Pro 13″ M1 and have setup Cocoapods and Ruby 3.0 to get my Xcode Workspace running.

When previously running the same codebase, same commit on Xcode 13 on x86 MBP, all of by Build Schemes [Prod ==> Release; QA ==> Debug] build and run.

On my M1 MBP, the Prod scheme (on Release configuration), builds and runs. However, when I switch to the QA scheme (on Debug configuration), the build immediately fails.

In my bridging header file, get an error 'UIScrollView_InfiniteScroll/UIScrollView+InfiniteScroll.h' file not found from the following line:

#import <UIScrollView_InfiniteScroll/UIScrollView+InfiniteScroll.h>

It also throws the following error:

<unknown>:0: error: failed to emit precompiled header '/Users/admin/Library/Developer/Xcode/DerivedData/myapp-dypuhuippmcjrlhhmqiqgbjwgyof/Build/Intermediates.noindex/PrecompiledHeaders/My-Bridging-Header-swift_3V1NLTT25PR6H-clang_1XGU9G22VPOI.pch' for bridging header '/Users/admin/myapp/myapp/myapp/Supporting Files/My-Bridging-Header.h'
/Users/admin/myapp/myapp/myapp/Supporting Files/My-Bridging-Header.h:5:9: note: in file included from /Users/admin/myapp/myapp/myapp/Supporting Files/My-Bridging-Header.h:5:

I have confirmed that there are no significant changes across configurations in my build settings. I have tried enabling Validate Workspace = NO.

The main significant difference between the schemas is the configurations (Release vs. Debug).

When I examine /Users/admin/Library/Developer/Xcode/DerivedData/MyApp-dypuhuippmcjrlhhmqiqgbjwgyof/Build/Intermediates.noindex/Pods.build there is a folder for Release-iphonesimulator but nothing for Debug. This leads me to believe that there is a Cocoapods issue underlying this, and that, despite all configurations being set for the Pods Xcode project, the Debug pods are not being built.

Attached is my current pod env:

### Stack

   CocoaPods : 1.11.2
        Ruby : ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
    RubyGems : 3.2.22
        Host : macOS 11.6 (20G165)
       Xcode : 13.0 (13A233)
         Git : git version 2.30.1 (Apple Git-130)
Ruby lib dir : /Users/admin/homebrew/Cellar/ruby/3.0.2_1/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/

### Installation Source

Executable Path: /Users/admin/homebrew/lib/ruby/gems/3.0.0/bin/pod

### Plugins

cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0

### Podfile

platform :ios, '11.0'

target 'Geojam' do
  use_frameworks! :linkage => :static

pod 'Alamofire', '~> 4.8.2'
pod 'Kingfisher', '~> 6.3.0'
pod 'IQKeyboardManagerSwift', '~> 6.3.0'
pod 'PromiseKit', '~> 6.8.0'
pod 'SwipeMenuViewController'
pod 'UIScrollView-InfiniteScroll', '~> 1.1.0'
pod 'PhoneNumberKit', '~> 3.1'
pod 'Blueprints'
pod 'Toaster', :git => 'https://github.com/DominatorVbN/Toaster.git', :branch => 'master'
pod "Atributika"
pod 'Instabug'
pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '7.3.0'

# DB

# Reactive
pod 'ReactiveSwift', '~> 6.1'

# Firebase
pod 'Firebase', '7.7.0'
pod 'FirebaseAuth', '7.7.0'
pod 'FirebaseMessaging', '7.7.0'
pod 'FirebaseFirestore', '7.7.0'
pod 'FirebaseStorage', '7.7.0'
pod 'GooglePlaces', '4.2.0'

# Add the pod for Firebase Crashlytics
pod 'Firebase/Crashlytics'
# Recommended: Add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'

#API Debug
pod 'netfox'
end

post_install do |pi|
  pi.pods_project.targets.each do |t|
      t.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
          config.build_settings["ONLY_ACTIVE_ARCH"] = "YES"
      end
  end
end

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments