Nativescript IOS build Cacoapods could not find compatible versions for pod - ios

I have Nativescript 8 app :
{
"name": "TEST",
"main": "src/main.ts",
"version": "1.0.1",
"private": true,
"dependencies": {
"#angular/animations": "~14.2.0",
"#angular/common": "~14.2.0",
"#angular/compiler": "~14.2.0",
"#angular/core": "~14.2.0",
"#angular/forms": "~14.2.0",
"#angular/platform-browser": "~14.2.0",
"#angular/platform-browser-dynamic": "~14.2.0",
"#angular/router": "~14.2.0",
"#nativescript-community/ui-zoomimage": "^4.3.6",
"#nativescript/angular": "~14.2.0",
"#nativescript/camera": "^5.0.13",
"#nativescript/core": "~8.3.0",
"#nativescript/datetimepicker": "^2.1.11",
"#nativescript/firebase": "^11.1.3",
"#nativescript/firebase-auth": "^2.4.4",
"#nativescript/firebase-core": "^2.4.4",
"#nativescript/firebase-firestore": "^2.4.4",
"#nativescript/firebase-storage": "^2.4.4",
"#nativescript/imagepicker": "^1.0.7",
"#nativescript/local-notifications": "^6.0.0",
"#nativescript/theme": "~3.0.2",
"#triniwiz/nativescript-image-zoom": "^4.2.0",
"moment": "^2.29.4",
"nativescript-phone": "^3.0.3",
"nativescript-ui-listview": "^14.2.4",
"rxjs": "~7.5.0",
"zone.js": "~0.11.5"
},
"devDependencies": {
"#angular-devkit/build-angular": "~14.2.0",
"#angular/compiler-cli": "~14.2.0",
"#nativescript/ios": "8.4.0",
"#nativescript/preview-cli": "1.0.2",
"#nativescript/types": "~8.3.0",
"#nativescript/webpack": "~5.0.9",
"#ngtools/webpack": "~14.2.0",
"typescript": "~4.7.0"
}
}
After i try to run ns build ios :
ERROR :
Installing pods... Analyzing dependencies Pre-downloading:
FirebaseFirestore from
https://github.com/invertase/firestore-ios-sdk-frameworks.git, tag
9.6.0 Pre-downloading: QBImagePickerController from https://github.com/flypapertech/QBImagePicker.git, commit
47aa21d32f8e6db0df79b089ad64e43d498b5951 [!] CocoaPods could not find
compatible versions for pod "FirebaseFirestore": In Podfile:
FirebaseFirestore (from https://github.com/invertase/firestore-ios-sdk-frameworks.git, tag
9.6.0)
Specs satisfying the FirebaseFirestore (from
https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag
9.6.0)` dependency were found, but they required a higher minimum deployment target. 'arch install' command failed.
What should i change to make this build work ? I can't even understand the error itself, can someone explain ?

Generally, you'll probably get answers faster on the Nativescript Discord server.
I believe it's telling you that it can't find/install the proper pods from CocoaPods.
It's looking for pods compatible with an older minimum iOS version.
You can build your app for a newer minimum versions by placing
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
in your build.xcconfig file.
Then run
ns clean
and try again.
If that doesn't work, you may also need to run
pod repo update

Related

Expo SDK 46 iOS build failed in pod installation step

I am trying to build iOS app from expo managed project. The build fails At Pod installation step.
In Expo SDK 44, 45 everything was okay. But when I upgrade to SDK 46, I am facing the issue.
Here is my package.json
{
"name": "App1234",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web"
},
"dependencies": {
"#expo/vector-icons": "^13.0.0",
"#openspacelabs/react-native-zoomable-view": "^2.0.4",
"#react-native-community/datetimepicker": "6.2.0",
"#react-native-community/netinfo": "9.3.0",
"#react-native-community/slider": "4.2.3",
"#react-native-google-signin/google-signin": "^8.1.0",
"#react-navigation/bottom-tabs": "^6.4.0",
"#react-navigation/drawer": "^6.5.0",
"#react-navigation/native": "^6.0.13",
"#react-navigation/native-stack": "^6.9.0",
"#react-navigation/stack": "^6.3.2",
"#stripe/stripe-react-native": "0.13.1",
"#types/react-native": "~0.69.1",
"apisauce": "^2.1.6",
"expo": "~46.0.13",
"expo-apple-authentication": "^4.3.0",
"expo-constants": "^13.2.4",
"expo-document-picker": "^10.3.0",
"expo-firebase-recaptcha": "^2.3.0",
"expo-font": "^10.2.1",
"expo-image-picker": "^13.3.1",
"expo-linear-gradient": "^11.4.0",
"expo-linking": "^3.2.2",
"expo-location": "^14.3.0",
"expo-notifications": "^0.16.1",
"expo-secure-store": "^11.3.0",
"expo-tracking-transparency": "^2.3.1",
"expo-updates": "^0.14.6",
"firebase": "9.9.2",
"formik": "^2.2.9",
"html-entities": "^2.3.3",
"lodash": "^4.17.21",
"lottie-react-native": "5.1.3",
"mime": "^3.0.0",
"moment": "^2.29.4",
"qs": "^6.11.0",
"react": "18.0.0",
"react-native": "0.69.6",
"react-native-draggable-flatlist": "^3.1.2",
"react-native-fbsdk-next": "^11.0.0",
"react-native-geocoding": "^0.5.0",
"react-native-gesture-handler": "~2.5.0",
"react-native-google-mobile-ads": "^8.2.0",
"react-native-maps": "0.31.1",
"react-native-phone-number-input": "^2.1.0",
"react-native-progress": "^5.0.0",
"react-native-razorpay": "^2.2.9",
"react-native-read-more-text": "^1.1.2",
"react-native-reanimated": "~2.9.1",
"react-native-safe-area-context": "4.3.1",
"react-native-screens": "~3.15.0",
"react-native-svg": "12.3.0",
"react-native-webview": "11.23.0",
"react-native-youtube-iframe": "^2.2.2",
"typescript": "^4.6.3",
"yup": "^0.32.11"
},
"devDependencies": {
"#babel/core": "^7.12.9"
},
"private": true
}
Here is Install Pods logs
Using Expo modules
Auto-generating `.xcode.env.local` with $NODE_BINARY=/Users/expo/.nvm/versions/node/v16.13.2/bin/node
Adding a custom script phase for Pod RNGoogleMobileAds: [RNGoogleMobileAds] Configuration
Auto-linking React Native modules for target `HomListi`: RNDateTimePicker, RNGestureHandler, RNGoogleMobileAds, RNGoogleSignin, RNReanimated, RNSVG, RNScreens, lottie-react-native, react-native-fbsdk-next, react-native-maps, react-native-netinfo, react-native-razorpay, react-native-safe-area-context, react-native-slider, react-native-webview, and stripe-react-native
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[Codegen] Found FBReactNativeSpec
Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
[stderr] /Users/expo/workingdir/build/node_modules/react-native-fbsdk-next/react-native-fbsdk-next.podspec:4: warning: already initialized constant Pod::FBSDKVersion
[stderr] /Users/expo/workingdir/build/node_modules/react-native-fbsdk-next/react-native-fbsdk-next.podspec:4: warning: previous definition of FBSDKVersion was here
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
[!] CocoaPods could not find compatible versions for pod "ExpoAdapterGoogleSignIn":
In Podfile:
ExpoAdapterGoogleSignIn (from `../node_modules/#react-native-google-signin/google-signin/ios`)
Specs satisfying the `ExpoAdapterGoogleSignIn (from `../node_modules/#react-native-google-signin/google-signin/ios`)` dependency were found, but they required a higher minimum deployment target.
Error: Compatible versions of some pods could not be resolved.
You are seeing this error because either:
- Versions in the cached Podfile.lock do not match required values in Podspecs of some installed libraries. To fix this, you can re-run build command with "--clear-cache" option, or select "Clear cache and retry build" on the build page.
- Some of the pods used in your project depend on different versions of the same pod. See logs for more information.
I've used 'eas build -p ios' command
also used 'eas build -p ios --clear-cache'
didn't work.
Can anybody help please. Please please please!!!!
Update your Podfile platform to 13:
platform :ios, '13.0'
Update the Pod file i.e platform to 13.0 or higher.
platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0'
try downgrade version "#react-native-google-signin/google-signin":"8.0.0"

Cannot successfully prepare iOS

I cannot seem to get the tns prepare ios command to work since upgrading from "tns-core-modules": "6.2.1" to "tns-core-modules": "^6.3.2". I receive the following message:
Webpack compilation complete.
Installing pods...
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod
"MaterialComponents/Tabs": In Podfile:
MaterialComponents/Tabs (~> 92.3)
MaterialComponents/Tabs (~> 94.5)
None of your spec sources contain a spec satisfying the dependencies:
MaterialComponents/Tabs (~> 92.3), MaterialComponents/Tabs (~>
94.5).
You have either: * out-of-date source repos which you can update with
pod repo update or with pod install --repo-update. * mistyped the
name or version. * not added the source repo that hosts the Podspec
to your Podfile.
[!] There are duplicate dependencies on MaterialComponents/Tabs in
Podfile:
MaterialComponents/Tabs (~> 92.3)
MaterialComponents/Tabs (~> 94.5) 'pod install' command failed. For more information on resolving CocoaPod issues in NativeScript read.
I have tried running pod repo update and pod install --repo-update with no success. I'm running this with xCode 10.1 on macOS 10.13.6 (High Sierra).
package.json
{
"description": "xxxx",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "xxxxx",
"repository": "<fill-your-repository-here>",
"nativescript": {
"id": "xxxxxx",
"tns-android": {
"version": "6.2.0"
},
"tns-ios": {
"version": "6.3.0"
}
},
"dependencies": {
"#nativescript/core": "6.2.1",
"#nativescript/theme": "2.2.0",
"#progress-nativechat/nativescript-nativechat": "2.0.4",
"axios": "^0.19.0",
"kinvey-nativescript-sdk": "4.2.5",
"nativescript-accelerometer": "3.0.0",
"nativescript-background-http": "4.2.1",
"nativescript-camera": "4.5.0",
"nativescript-fonticon": "^2.0.0",
"nativescript-geolocation": "5.1.0",
"nativescript-image": "2.2.5",
"nativescript-imagepicker": "7.1.0",
"nativescript-intl": "3.0.0",
"nativescript-iqkeyboardmanager": "1.5.1",
"nativescript-purchase": "^2.0.13",
"nativescript-social-share": "1.5.2",
"nativescript-theme-core": "1.0.6",
"nativescript-ui-autocomplete": "6.0.0",
"nativescript-ui-calendar": "6.0.0",
"nativescript-ui-chart": "7.0.0",
"nativescript-ui-dataform": "6.0.0",
"nativescript-ui-gauge": "6.0.0",
"nativescript-ui-listview": "8.0.1",
"nativescript-ui-sidedrawer": "8.0.0",
"nativescript-vue": "2.4.0",
"tns-core-modules": "^6.3.2"
},
"devDependencies": {
"#babel/core": "7.6.4",
"#babel/preset-env": "^7.7.7",
"babel-loader": "^8.0.2",
"babel-traverse": "6.26.0",
"babel-types": "6.26.0",
"babylon": "6.18.0",
"clean-webpack-plugin": "^0.1.19",
"copy-webpack-plugin": "^4.5.2",
"css-hot-loader": "^1.4.2",
"css-loader": "^1.0.0",
"lazy": "1.0.11",
"mini-css-extract-plugin": "^0.4.1",
"nativescript-dev-webpack": "1.3.0",
"nativescript-vue-template-compiler": "^2.0.0-alpha.3",
"nativescript-worker-loader": "~0.9.0",
"node-sass": "^4.9.2",
"sass-loader": "^7.1.0",
"tns-platform-declarations": "6.2.1",
"uglifyjs-webpack-plugin": "~1.2.7",
"vue-loader": "^15.8.3",
"webpack": "^4.41.5",
"webpack-bundle-analyzer": "~2.13.1",
"webpack-cli": "^3.1.0"
}
}
I had the same issue, removing and adding again the IOS platform resolved it.

React/RCTDefines.h file not found in RCTBridgeModule.h

I was using Expo and I separated expo eject for module use.
And I tried pod install in iOS file. it was work.
Pod installation complete! There are 51 dependencies from the Pod file
and 63 total pods installed.
But An error occurred when the Xcode was opened and the build and run button was pressed.
package.json:
{
"name": "testgame",
"version": "0.1.0",
"private": true,
"devDependencies": {
"babel-cli": "6.26.0",
"babel-plugin-module-resolver": "^3.1.1",
"babel-preset-es2015": "6.24.1",
"jest-expo": "27.0.0",
"react-native-scripts": "1.14.0",
"react-test-renderer": "16.3.1"
},
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"scripts": {
"start": "react-native-scripts start",
"eject": "react-native-scripts eject",
"android": "react-native-scripts android",
"ios": "react-native-scripts ios",
"test": "jest"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"#expo/vector-icons": "^8.1.0",
"bignumber.js": "^8.1.1",
"crypto-browserify": "^3.12.0",
"eth-lightwallet": "^3.0.1",
"ethereumjs-tx": "^1.3.7",
"ethereumjs-util": "^6.0.0",
"ethereumjs-wallet-react-native": "^0.6.7",
"expo": "^30.0.0",
"expokit": "^1.8.0",
"formik": "^1.3.2",
"js-sha3": "^0.8.0",
"native-base": "^2.8.2",
"node-libs-browser": "2.1.0",
"react": "16.3.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
"react-native-confirmation-code-input": "^1.0.4",
"react-native-fast-crypto": "^1.8.1",
"react-native-fetch-blob": "git+https://github.com/HCL-HO/react-native-fetch-blob-expo.git",
"react-native-fs": "^2.13.3",
"react-native-keychain": "^3.1.2",
"react-native-pin-view": "^2.2.1",
"react-native-secure-randombytes": "^3.0.0",
"react-native-touch-id": "^4.4.1",
"react-navigation": "3.0.4",
"web3": "1.0.0-beta.34",
"yup": "^0.26.6"
}
}
Xcode Version: 10.2.1
I've never used Xcode before, so I'm a beginner. Please explain it in detail. I'd appreciate it if you could explain it with a screenshot.
I made a podsec myself and solved it.
This is not in the official document and requires a fundamental solution from the module developer.
This solution creates a lot of Warning. There's nothing wrong with the code.
Remove react-native-secure-randombytes path from Header Search Path
Unlink react-native-secure-randombytes module - react-native unlink react-native-secure-randombytes
Added react-native-secure-randombytes.podspec from this link
Added next code into pod file:
pod 'react-native-secure-randombytes', :path =>
'../node_modules/react-native-secure-randombytes'
do `pod install'

Compilation error from Angular and typescript in VS 2015 MVC project

I am new to Angular and taking baby step to implement in ASP.Net MVC project. I downloaded the Angular quick start from github and latest typescript v 3.2.2.0 for visual studio 2015 update 3. I am getting the following error Property lift in the type 'Subject is not assignable tot he same property in base type Observable' .
other version used:
npm -v is 6.4.1
node -v is 10.15.2
The package.json that I downloaded from github had a reference to the older version version. Attached is the package.json file i am using.
I have my npm running and was able to host the website through lift-server.
error TS2416: Property 'lift' in type 'Subject' is not assignable
to the same property in base type 'Observable'. Type '(operator:
Operator) => Observable' is not assignable to type
'(operator: Operator) => Observable'. Type 'Observable'
is not assignable to type 'Observable'. Type 'T' is not assignable
to type 'R'
Please help.
Error snippet
{
"name": "angular-quickstart",
"version": "1.0.0",
"description": "QuickStart package.json from the documentation, supplemented with testing support",
"scripts": {
"build": "tsc -p src/",
"build:watch": "tsc -p src/ -w",
"build:e2e": "tsc -p e2e/",
"serve": "lite-server -c=bs-config.json",
"serve:e2e": "lite-server -c=bs-config.e2e.json",
"prestart": "npm run build",
"start": "concurrently \"npm run build:watch\" \"npm run serve\"",
"pree2e": "npm run build:e2e",
"e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
"preprotractor": "webdriver-manager update",
"protractor": "protractor protractor.config.js",
"pretest": "npm run build",
"test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
"pretest:once": "npm run build",
"test:once": "karma start karma.conf.js --single-run",
"lint": "tslint ./src/**/*.ts -t verbose"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"#angular/common": "~4.3.4",
"#angular/compiler": "~4.3.4",
"#angular/core": "~4.3.4",
"#angular/forms": "~4.3.4",
"#angular/http": "~4.3.4",
"#angular/platform-browser": "~4.3.4",
"#angular/platform-browser-dynamic": "~4.3.4",
"#angular/router": "~4.3.4",
"angular-in-memory-web-api": "~0.3.0",
"systemjs": "0.19.40",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"zone.js": "^0.8.4"
},
"devDependencies": {
"concurrently": "^3.2.0",
"lite-server": "^2.2.2",
"typescript": "~2.1.0",
"canonical-path": "0.0.2",
"tslint": "^3.15.1",
"lodash": "^4.16.4",
"jasmine-core": "~2.4.1",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~4.0.14",
"rimraf": "^2.5.4",
"#types/node": "^6.0.46",
"#types/jasmine": "2.5.36"
},
"repository": {}
}
Try to upgrade with:
npm install --save rxjs#^6.4.0
this issue should have been fixed in RxJS 6.
There are a couple things wrong here.
First, your Typescript is on the latest version. I'm not sure even Angular 7 supports Typescript 3.2.2. I think they will when Angular 8 is released shortly.
Second, your Angular packages are way out of date. You should update to Angular 7 if possible.
Third, Visual Studio can sometimes get picky about your ts config. If the above two don't work please post your ts config so we can look at it. I build Angular Applications from the Web Form template in VS 2017. I use the Angular CLI instead of any VS Extension. If you want more details let me know.
Here's a package.json from a project I started recently:
"private": true,
"dependencies": {
"#angular/animations": "~7.1.0",
"#angular/common": "~7.1.0",
"#angular/compiler": "~7.1.0",
"#angular/core": "~7.1.0",
"#angular/forms": "~7.1.0",
"#angular/platform-browser": "~7.1.0",
"#angular/platform-browser-dynamic": "~7.1.0",
"#angular/router": "~7.1.0",
"classlist.js": "^1.1.20150312",
"core-js": "^2.5.4",
"d3": "^4.10.2",
"d3-array": "^1.2.1",
"d3-brush": "^1.0.4",
"d3-color": "^1.0.3",
"d3-force": "^1.1.0",
"d3-format": "^1.2.0",
"d3-hierarchy": "^1.1.5",
"d3-interpolate": "^1.1.5",
"d3-scale": "^1.0.6",
"d3-selection": "^1.1.0",
"d3-shape": "^1.2.0",
"d3-time-format": "^2.1.0",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"web-animations-js": "^2.3.1",
"zone.js": "~0.8.26",
"bootstrap": "4.3.1"
},
"devDependencies": {
"#angular-devkit/build-angular": "~0.11.0",
"#angular-devkit/build-ng-packagr": "~0.11.0",
"#angular/cli": "~7.1.3",
"#angular/compiler-cli": "~7.1.0",
"#angular/language-service": "~7.1.0",
"#types/node": "~8.9.4",
"#types/jasmine": "~2.8.8",
"#types/jasminewd2": "~2.0.3",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"ng-packagr": "^4.2.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tsickle": ">=0.29.0",
"tslib": "^1.9.0",
"tslint": "~5.11.0",
"typescript": "~3.1.6"
}
}

Angular 5 app not working in ios8 (Browserstack)

I've tested my Angular 5 app on an iPhone 6 running IOS8 (Safari) and in Browserstack. The angular app doesn't run, I just get an empty page and this Javascript error.
Any suggestions?
This is my package.json file. I'm thinking that some package that I added here is causing some conflict and preventing the app from displaying. Previously I had the app able to run in IOS8, but that was with Angular 4.4 and I wasn't using mdbootstrap library.
{
"name": "XXXX",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"i18n": "ng-xi18n"
},
"private": true,
"dependencies": {
"#agm/core": "^1.0.0-beta.2",
"#angular-devkit/schematics": "0.0.34",
"#angular/animations": "^5.0.3",
"#angular/common": "^5.0.3",
"#angular/compiler": "^5.0.3",
"#angular/core": "^5.0.3",
"#angular/forms": "^5.0.3",
"#angular/http": "^5.0.3",
"#angular/platform-browser": "^5.0.3",
"#angular/platform-browser-dynamic": "^5.0.3",
"#angular/router": "^5.0.3",
"applicationinsights-js": "^1.0.8",
"bootstrap": "^3.3.7",
"bootstrap-select": "^1.12.4",
"chart.js": "^2.5.0",
"core-js": "^2.4.1",
"easy-pie-chart": "^2.1.7",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
"jquery": "^3.2.1",
"libphonenumber-js": "^0.4.40",
"ng-autosize": "^1.1.0",
"ng-mdb-pro": "XXXX",
"npm-check-updates": "^2.13.0",
"rxjs": "^5.4.2",
"screenfull": "^3.3.0",
"zone.js": "^0.8.14"
},
"devDependencies": {
"#angular/cli": "^1.5.5",
"#angular/compiler-cli": "^5.0.3",
"#angular/language-service": "^4.3.0",
"#types/applicationinsights-js": "^1.0.2",
"#types/jasmine": "~2.8.2",
"#types/jasminewd2": "~2.0.2",
"#types/node": "~6.0.60",
"codelyzer": "~4.0.1",
"jasmine-core": "^2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.2.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-junit-reporter": "^1.2.0",
"protractor": "~5.2.0",
"ts-node": "~3.3.0",
"tslint": "^5.3.2",
"typescript": ">=2.4.2 <2.5.0"
}
}
Had a similar problem. It should be resolved by providing correct polyfills.
you can find browser support info here https://angular.io/guide/browser-support
If you use JIT compiler (not AOT) then safari needs at least ES7 reflect polyfill.
Safari 7 & 8 need also ES6
If you still use the old intl based pipes then do not forget to include them.
For older browsers core-js/es/... imports usually resolve the issues.
Go to your src/polyfills.ts and enable desired polyfills.
There is also a fetch polyfill mentioned in the readme of the generated project, that is not included in polyfill.ts.
import 'whatwg-fetch'; // Run `npm install --save whatwg-fetch`
$ ng build --mangle safari10=true --prod
Follow the next steps
Execute command to generate file .browserslistrc
npx browserslist
Into the file set the last version until you get that you need, in my case I need work with safari 10, then i set the file ".browserslistrc" :
last 2 Chrome version
last 2 Firefox version
last 2 Edge major versions
last 5 Safari major versions
last 5 iOS major versions

Resources