Pod is built for newer version of - ios

After changing both the deployment target of my project and targets from IOS 10.3 to 9.0 I am receiving the following errors. What am I doing wrong?
edit: These errors only show up when running my code in release not debug

Paste this at the end of your podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end

First try cleaning the project (shift+command+K). This likely won’t help but is always worth a try.
If/when cleaning does not work, check that the desired iOS version is in podfile, and then navigate to the project directory in Terminal and run pod update.

Related

Flutter iOS Xcode build was failing

My flutter app was working fine for android and for iOS the build was failing.
My pod file code was
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
end
end
end
You can try to change your podfile code to
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
If my first solution doesn’t work, you can follow these steps:
Backup ios/Runner folder.
Delete the ios folder.
Create another project with same name as yours.
Paste your Runner backup in the ios folder to your new project.
Run pod install in your ios directory.
Run flutter clean the flutter run.
Hope it works.d

Flutter 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.4.99

In the last 3 years. Ive probably spent 2 weeks on this issue, it comes up often if you are cloning and working on other peoples projects but doesn't usually occur on your own.
There are a tonne of answers on the stackoverflow and sometimes you use one answer and it works and other times you have to use another answer. I have solved this issue countless times and never has the same solution worked every time.
this is the error:
'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 15.4.99.
Where is this error actually coming from, what setting in flutter needs to be changed. I will list all the ways below that have been able to fix it after the error but what I want to know is where is the setting that is causing this problem in the first place.
These are the setting and ways I have used to fix this:
Updating pod file platform:
# Uncomment this line to define a global platform for your project
platform :ios, '13.0'
Updating AppFrameworkInfo.plist:
<key>MinimumOSVersion</key>
<string>13.0</string>
Updating runner deployment target in Xcode:
Updating pods deployment target in Xcode:
Changing the script in the podfile (this works but then causes other errors):
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
to this
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 13.0
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
end
Updating the project format in Xcode:
Also:
Deleting pod file
Deleting podfile.lock
Deleting the pods directory
Deleting the .symlinks directory
Flutter clean
Deintegrating pods
Pod cache clean -all
Pod repo update
Pod update
Pod install
I wonder if this error even represents the real issue or whether is is something else entirely because if you look at the generated podspec file it lists the ios.deployment target as 9 not 8?. Where is the error coming from and where in Flutter can this be changed?
Thanks

fatal error: module map file YogaKit.modulemap not found

I am trying to build an iOS app and get this error. I have the project, target, and podfile all specifying iOS deployment target of 14.2. I am using Xcode V12.2.
fatal error: module map file '/Users/USERNAME/Library/Developer/Xcode/DerivedData/APPNAME-hevjyrbzqmxstztjalctjwmbxffm/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap' not found
1 error generated.
When I navigate to that directory I do not see the YogaKit.modulemap file in there. How do I configure the build to copy it to that directory or otherwise fix this error?
I am opening the .xcworkspace project file.
I already did:
rm -rf ~/Library/Developer/Xcode/DerivedData/
pod deintegrate
pod update
This is an expo ejected bare app using react-native 0.63.3 and cocoapods v1.10.0. I'm building on a Mac Mini M1.
Any help would be greatly appreciated.
In my case, I had opened the file myapp.xcodeproj and tried to build/archive the project. I could not build because the build always failed.
This time I selected File > Open > Selected the ios directory in my project i.e. myapp>packages>myapp>ios . Then, I tried to build the app. This time it worked.
You make sure you open myapp.xcworkspace file instead of .xcodeproj.
Make sure that the iOS deployment target version is equal or higher than the version in the podfile
Pod file target
Xcode deployment target
Try set "Open using Rosetta" open your Xcode
Worked for me
Check your project AND target's 'Build Settings', search with keyword 'valid_archs', if valid_archs config item exists, make sure the value for key DEBUG is 'arm64 armv7 x86_64', in other words, make sure the value contains x86_64.
I managed to resolve the issue in my app.
I had a mismatch between the ios version in Xcode and Podfile.
Podfile
Xcode
I changed my Podfile to platform :ios, '9.0' and ran pod install again.
That did the trick.
I added
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
To my Podfile in the following loop:
post_install do |installer|
end
Like:
post_install do |installer|
react_native_post_install(installer)
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
In my case, I had to do the following, to get the Archive working with XCode 12 in React Native project,
Made sure the same Deployment Target is set correctly across project settings in Xcode and pod file
Turn off optimisation in the release mode by setting Optimisation Level to None (GCC_OPTIMIZATION_LEVEL = 0).
Delete the podfile.lock, and do a fresh pod install.
I solved using the next code in Podfile ..proyect/ios/Podfile
post_install do |installer|
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
#To fix issue _OBJC_CLASS_$_RCTBundleURLProvider
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
# To solve xcode 14 issue not signing some pod projects
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end

The iOS Simulator deployment targets is set to 7.0, but the range of supported deployment target version for this platform is 8.0 to 12.1

I'm getting this below warning message in my Xcode 10.1.
The iOS Simulator deployment targets are set to 7.0, but the range of supported deployment target versions for this platform is 8.0 to 12.1.
My simulator os in 12.1
Xcode 10.1
And I updated my pod file.
My deployment target is 9.0
In my target
You can set up your podfile to automatically match the deployment target of all the podfiles to your current project deployment target like this :
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end
The problem is in your pod files deployment target iOS Version not in your project deployment target iOS Version, so you need to change the deployment iOS version for your pods as well to anything higher than 8.0 to do so open your project workspace and do this:
1- Click on pods.
2- Select each project and target and click on build settings.
3- Under Deployment section change the iOS Deployment Target version to anything more than 8.0
(better to try the same project version).
4- Repeat this for every other project in your pods then run the app.
see the photo for details
Instead of specifying a deployment target in pod post install, you can delete the pod deployment target for each pod, which causes the deployment target to be inherited from the Podfile.
You may need to run pod install for the effect to take place.
platform :ios, '12.0'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
Iterating over the answer from Tao-Nhan Nguyen, accounting the original value set for every pod, adjusting it only if it's not greater than 8.0... Add the following to the Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if Gem::Version.new('8.0') > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0'
end
end
end
end
If anyone came here from react native issue, just delete the /build folder and type react-native run ios
We can apply the project deployment target to all pods target.
Resolved by adding this code block below to end of your Podfile:
post_install do |installer|
fix_deployment_target(installer)
end
def fix_deployment_target(installer)
return if !installer
project = installer.pods_project
project_deployment_target = project.build_configurations.first.build_settings['IPHONEOS_DEPLOYMENT_TARGET']
puts "Make sure all pods deployment target is #{project_deployment_target.green}"
project.targets.each do |target|
puts " #{target.name}".blue
target.build_configurations.each do |config|
old_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']
new_target = project_deployment_target
next if old_target == new_target
puts " #{config.name}: #{old_target.yellow} -> #{new_target.green}"
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = new_target
end
end
end
Results log:
Try these steps:
Delete your Podfile.lock
Delete your Podfile
Build Project
Add initialization code from firebase
cd /ios
pod install
run Project
This was what worked for me.
This solution worked for me for Flutter. open {your_project_root_folder}/ios/Podfile and replace the post_install block with this
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
For Swift
If you are using CocoaPods with Xcode 12, then you have probably seen this error:
The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.
This is happening because support for iOS 8 has been dropped, but the minimum deployment target for the pod is iOS 8.
Until this is fixed, you can add the following to your Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
This will remove the deployment target from all the pods in your project and allows them to inherit the project/workspace deployment target that has been specified at the top of Podfile.
For React Native
Delete the ./project-root/ios/build folder and type react-native run ios
For Cordova
<preference name="deployment-target" value="8.0" />
If your are come from react-native and facing this error just do this
Open Podfile(your project > ios>Podfile)
comment flipper functions in podfile as below
#use_flipper!
#post_install do |installer|
#flipper_post_install(installer)
#end
In terminal inside IOS folder enter this command pod install
yep, that is it hope it works to you
if anybody is experiencing is issue while updating to the latest react native, try updating your pod file with
use_flipper!
post_install do |installer|
flipper_post_install(installer)
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
All you need to do is just uncomment the following line
# platform :ios, '8.0'
OR
# platform :ios, '9.0'
etc...
and then open iOS folder in the terminal and pass those commands:
% pod repo update
% pod install
I solved this problem, I changed build system to Legacy Build System from New Build System
In Xcode v10+, select File > Project Settings
In previous Xcode, select File > Workspace Settings
Change Build System to Legacy Build System from New Build System --> Click Done.
Simple fix that worked for me in Flutter:
Delete Podfile and Podfile.lock
Run app: This will create a new Podfile. This will probably still fail with an error.
In the new Podfile, uncomment and change the 2nd line to platform :ios, '12.0' (or other min version you want to target)
Run app again, now without errors
For Flutter use this
platform :ios, '10.0'
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
end
Worked for me:
rm ios/Podfile
flutter pub upgrade
flutter pub get
cd ios && pod update
flutter clean && flutter run
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
most of the above did not work for me. If you dig around you will see that you aren't supposed to run pod install by hand. What worked for me was making sure my physical device was registered with xcode.
open xcode workspace for ios. select your device (connected via usb most likely) and click Run. This will prompt you to let xcode register your device.
xcode build will most likely fail which is ok - see next steps
Quit Xcode!
cd ios
rm -fR Podfile Podfile.lock Pods
in android studio choose the device in question and c
for cordova developers having this issue
try to set
<preference name="deployment-target" value="8.0" />
in config.xml
This is how I solved this issue with Firebase 10.1 and Xcode 14.1:
Open Xcode
Select Product > Analyze to get all the IPHONEOS_DEPLOYMENT_TARGET warnings
Open Terminal, in your project directory:
pod cache clean --all && pod deintegrate && pod install --repo-update
Check the Xcode again. All the warning should be gone and a single warning from Xcode should be there: "Update to recommended settings"
Click on Perform Changes button
Restart Xcode
There is a detailed discussion about this at the Firebase project repository.
first change the deployment to your choose : like '11.0'
and add this step in the last of your pod file
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end
If anyone is getting this problem in 2021 after updating XCode to v13, here's a fix that worked for me:
https://github.com/facebook/react-native/issues/31733#issuecomment-924016466
However, this may not work for all react-native versions, it worked on v0.64 for me.
I used Xcode to create the dummy swift file so I automatically got a request for "Bridging Header"
Hopefully, this would be resolved in a future release.
I had the same issue building my React Native project
cocoapods version update worked for me (upgraded from 1.8.4 to 1.11.2)
Xcode > Runner > Info deployment Target > IOS Deployment Target: 11
.
open terminal :
pod cache clean --all
.
pod update
(flutter)In my case I accidentally imported dart.js so if it was working a moment ago and it just stopped on reload or new restart check your imports
For flutter this is what I'm using inside <project_root>/ios/Podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS"] = "armv7"
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
end
end
delete pods folder and podfile.lock,increase deployment target in podfile as well as xcode
This is a known issue on M1 MacBooks. Run flutter upgrade and that should fix it.
Currently working on
M1 Mackbook 12.0.0
Flutter 2.10.0
Dart 2.16.0

Realm installation XCode 8.1

I struggle with integrating Realm in my project.
Actually, I'm following guidelines from official documentation, though that doesn't help me.
While I'm trying to import RealmSwift I got "No such module".
import RealmSwift
In framework Realm.framework is red.
Here is my Podfile
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'RealmTest' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for RealmTest
pod 'RealmSwift'
target 'RealmTestTests' do
inherit! :search_paths
# Pods for testing
end
target 'RealmTestUITests' do
inherit! :search_paths
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '2.3' # or '3.0'
# Pods for testing
end
end
end
end
I had some issues getting it installed as well. This may not be the answer but after working through these, my project is building:
Here's my PodFile which is similar
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'RealmTest' do
use_frameworks!
# Pods for RealmTest
pod ‘RealmSwift’
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
I had to update CocoaPods
$ sudo gem install cocoapods
then install Realm again, quit Xcode then
pod install
from there use the
.xcworkspace
file generated by CocoaPods to open the project.
And the last item was to manually add two files to the Linked Frameworks and Libraries section.
Open your project via the .xcworkspace, select your project in the left column. Then select General on the right and scroll down the Linked Frameworks and Libraries and add these two files
Realm.framework
RealmSwift.framework
That last step seems unnecessary but we could not get the build to work until we did that step.
Oh!
Actually the problem was in Swift Compiler - Version
Who would have similar problem, try to go to Build Settings - Swift Compiler - Version - Use Legacy Swift Language Version - Switch it to "No"

Resources