I recently updated my xcode to the beta for Xcode12 so I can see how my app will run on the upcoming release of IOS 14
When trying to run TNS RUN IOS I get the following errors:
Saving metadata generation's stderr stream to: /Users/USER/Desktop/Projects/APP/platforms/ios/build/Debug-iphonesimulator/metadata-generation-stderr-x86_64.txt
~/Desktop/Projects/APP/platforms/ios
ld: building for iOS Simulator, but linking in dylib built for iOS, file '/Users/USER/Desktop/Projects/APP/platforms/ios/internal//NativeScript.framework/NativeScript' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
note: Using new build system
note: Building targets in parallel
note: Using codesigning identity override:
note: Planning build
note: Using build description from disk
warning: 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.0.99. (in target 'MDFInternationalization' from project 'Pods')
warning: 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.0.99. (in target 'IQKeyboardManager' from project 'Pods')
Here is my Podfile
use_frameworks!
target "ClientApp" do
# NativeScriptPlatformSection /Users/USER/Desktop/Projects/APP/node_modules/tns-core-modules/platforms/ios/Podfile with 9.0
platform :ios, '9.0'
# End NativeScriptPlatformSection
# Begin Podfile - /Users/USER/Desktop/Projects/APP/node_modules/tns-core-modules/platforms/ios/Podfile
# platform :ios, '9.0'
use_frameworks!
pod 'MaterialComponents/Tabs', '~> 84.4'
# End Podfile
# Begin Podfile - /Users/USER/Desktop/Projects/APP/node_modules/nativescript-iqkeyboardmanager/platforms/ios/Podfile
pod 'IQKeyboardManager', '~> 6.2.0'
# platform :ios, '9.0'
# End Podfile
end
I've also tried this and got the same error
use_frameworks!
target "ClientApp" do
# NativeScriptPlatformSection /Users/USER/Desktop/Projects/APP/node_modules/tns-core-modules/platforms/ios/Podfile with 9.0
platform :ios, '9.0'
# End NativeScriptPlatformSection
# Begin Podfile - /Users/USER/Desktop/Projects/APP/node_modules/tns-core-modules/platforms/ios/Podfile
# platform :ios, '9.0'
use_frameworks!
pod 'MaterialComponents/Tabs', '~> 84.4'
# End Podfile
# Begin Podfile - /Users/USER/Desktop/Projects/APP/node_modules/nativescript-iqkeyboardmanager/platforms/ios/Podfile
pod 'IQKeyboardManager', '~> 6.2.0'
# platform :ios, '9.0'
# End Podfile
end
post_install do |pi|
pi.pods_project.targets.each do |t|
t.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end
And I've tried un-commenting out the comments in the Podfile.
And here's also my package.json
{
"nativescript": {
"id": {
"ios": "{{ID}}",
"android": "{{ID}}",
},
"tns-android": {
"version": "6.1.1"
},
"tns-ios": {
"version": "6.5.2"
}
},
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"repository": "<fill-your-repository-here>",
"scripts": {
"lint": "tslint \"src/**/*.ts\""
},
"dependencies": {
"@angular/animations": "~8.2.0",
"@angular/common": "~8.2.0",
"@angular/compiler": "~8.2.0",
"@angular/core": "~8.2.0",
"@angular/forms": "~8.2.0",
"@angular/platform-browser": "~8.2.0",
"@angular/platform-browser-dynamic": "~8.2.0",
"@angular/router": "~8.2.0",
"@types/node": "^12.12.11",
"jwt-decode": "^2.2.0",
"nativescript-angular": "~8.2.0",
"nativescript-cardview": "^3.2.0",
"nativescript-drop-down": "^5.0.4",
"nativescript-filterable-listpicker": "^2.2.6",
"nativescript-iqkeyboardmanager": "^1.5.1",
"nativescript-materialdropdownlist": "^1.0.15",
"nativescript-phone": "^1.4.1",
"nativescript-theme-core": "~1.0.6",
"nativescript-ui-autocomplete": "^5.1.1",
"nativescript-ui-sidedrawer": "~7.0.0",
"reflect-metadata": "~0.1.12",
"rxjs": "^6.4.0",
"tns-core-modules": "~6.1.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular/cli": "^8.3.5",
"@angular/compiler-cli": "~8.2.0",
"@nativescript/schematics": "^0.7.1",
"@ngtools/webpack": "~8.2.0",
"@types/jasmine": "^3.4.0",
"codelyzer": "~4.5.0",
"nativescript-dev-webpack": "^1.4.0",
"node-sass": "^4.7.1",
"tslint": "~5.19.0",
"typescript": "~3.5.3"
}
}
I was also receiving the same error with a firebase plugin but I removed it.
Ideally, I should be able to get all dependencies to target the same IOS version, then if there's problems i'll figure it out from there. Any ideas?
I solved this by adding a Podfile in the App_Resources/iOS folder with the following code inside the file.
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 loops through the pods deleting their deployment targets allowing them to inherit the settings. Must make sure you delete the platforms folder after and rebuild for the changes to take effect.
The added Podfile will be merged with the generated Podfile in platforms.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With