Nativescript build for ios succeeds but getting error message - nativescript

Building my app for a device and it seems to succeed but comes back with no .ipa file found - but it's there.
** EXPORT SUCCEEDED **
Project successfully built.
No .ipa found in /Users/mini/Projects/publish-app-ios/platforms/ios/build/Release-iphoneos directory.
the above is a result of a tns build ios --for-device ... command.
My xcode version is 12.5.1 and I would prefer not to update.
I'm using NS 6 and have added the fixes on How to Fix NativeScript Issue with iOS14 and XCode 12

tns run ios works ok?
which version tns-ios using in package.json?
try to set
{
"nativescript": {
"id": "package.name",
"tns-android": {
"version": "6.5.3"
},
"tns-ios": {
"version": "6.5.4"
}
},
...
}
if it was set different version, run tns platform remove ios before tns run
Or do you run tns build for publication?

Related

React-Native / XCode : Build Failing for ffmpeg

Trying to build a react-native app for ios, but build is failing due to problem below:
ld: in /Users/tialifouroohi/Desktop/GitHub/SocialNetworkWrapper-ReactNative/InstagramClone/ios/Pods/mobile-ffmpeg-https/libavcodec.framework/libavcodec(aacencdsp.o), building for iOS Simulator, but linking in object file built for free standing, file '/Users/tialifouroohi/Desktop/GitHub/SocialNetworkWrapper-ReactNative/InstagramClone/ios/Pods/mobile-ffmpeg-https/libavcodec.framework/libavcodec' for architecture x86_64
React-Native version: 0.63.2
XCode Version: 12.4
Build Target ios version: 13.6
What can I change or do to make the build succeed?
Add this line in Podfile:
pod 'react-native-ffmpeg/https-lts', :path => '../node_modules/react-native-ffmpeg'
Disable auto-linking in react-native.config.js like this:
"react-native-ffmpeg": {
platforms: {
ios: null,
},
},
Now run
pod install
Try this code ,it may fix your issue .

Nativescript 6.5 could not build module 'nanopb' on iOS

I have a NS 6.5 app which when I try to build fails with the following error: could not build module 'nanopb'
Here is my package.json:
{
"nativescript": {
"id": "io.app.app",
"tns-ios": {
"version": "6.5.3"
}
},
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"repository": "<fill-your-repository-here>",
"dependencies": {
"#nativescript/theme": "~2.3.0",
"#nstudio/nativescript-camera-plus": "3.0.7",
"#nstudio/nativescript-loading-indicator": "3.0.2",
"moment": "^2.26.0",
"nativescript-appversion": "1.4.4",
"nativescript-carousel": "^6.1.1",
"nativescript-contacts-lite": "0.2.6",
"nativescript-custom-bottomsheet": "^1.0.6",
"nativescript-imagecropper": "^3.0.0",
"nativescript-iqkeyboardmanager": "^1.5.1",
"nativescript-masked-text-field": "4.0.3",
"nativescript-permissions": "1.3.8",
"nativescript-plugin-firebase": "10.5.2",
"nativescript-ui-listview": "^8.1.2",
"tns-core-modules": "6.5.20"
},
"devDependencies": {
"nativescript-dev-webpack": "1.5.1",
"tns-platform-declarations": "6.5.15",
"typescript": "~3.5.3"
},
"gitHead": "d8bdf0799a219051f28f8abd7c258d2bf2fce6e1",
"readme": "NativeScript Application"
}
Here is what I get when I run tns doctor:
No issues were detected.
✔ Your ANDROID_HOME environment variable is set and points to correct directory.
✔ Your adb from the Android SDK is correctly installed.
✔ The Android SDK is installed.
✔ A compatible Android SDK for compilation is found.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Xcode is installed and is configured properly.
✔ xcodeproj is installed and is configured properly.
✔ CocoaPods are installed.
✔ CocoaPods update is not required.
✔ CocoaPods are configured properly.
✔ Your current CocoaPods version is newer than 1.0.0.
✔ Python installed and configured correctly.
✔ The Python 'six' package is found.
✔ Xcode version 11.5.0 satisfies minimum required version 10.
✔ Getting NativeScript components versions information...
⚠ Update available for component nativescript. Your current version is 6.5.0 and the latest available version is 7.0.10.
✔ Component tns-core-modules has 6.5.20 version and is up to date.
✖ Component tns-android is not installed.
✔ Component tns-ios has 6.5.3 version and is up to date.
I have tried removing the platform, deleting the hooks, node_modules, and platforms, upgrading the firebase plugin, but nothing helps.
Any ideas on what the problem is?
Thanks.
After opening the app in XCode, I tried building it from there. This build succeeded, so I figured that the issue is with NS. I fixed it by trial and error. I kept playing around with the NS global version and finally, everything worked when I downgraded to version 6.2.0.
Note: Do not forget to clean your app before each test. I use:
tns platform remove ios
rm -rf node_modules hooks platforms package-lock.json
I am not sure why this worked or what the problem was. Perhaps someone from the Nativescript team can shed some light on the topic.

Flutter Install Gradle Issues

I'm trying to get a basic hello world project running using flutter. These are the steps that I have taken to install Flutter on a windows machine, running Window 10 Pro.
Downloaded flutter_windows_v0.9.4-beta.zip and extracted to c:\src\
Add location to environment settings ... C:\src\flutter
Downloaded and installed Android Studio and Setup an emulator using ADV Manager.
Downloaded and installed Visual Studio Code
Added Dart 2.19.0 Extension
Added Flutter 2.19.0 Extension
Run Flutter doctor
[flutter] flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.9.4, on Microsoft Windows [Version 10.0.15063], locale en-GB)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[√] Android Studio (version 3.2)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.28.2)
[√] Connected devices (1 available)
Create a new flutter project
Deleted code under Test folder
Replaced code in main.dart with ...
import 'package:flutter/material.dart';
void main() {
runApp(Center(
child: Text(
"this is a test",
textDirection: TextDirection.ltr,
),
));
}
Ran project and get the following error ...
Launching lib\main.dart on Android SDK built for x86 in debug mode...
* Error running Gradle:
Exit code 1 from: C:\Users\to0589\Desktop\flutter projects\asad\android\gradlew.bat app:properties:
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\to0589\Desktop\flutter projects\asad\android\app\build.gradle' line: 25
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not resolve all files for configuration 'classpath'.
> Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
Please review your Gradle project setup in the android/ folder.
Exited (sigterm)
Can anyone tell me where I went wrong please Any assistance greatly appreciated.
That's not a problem in your install. This is a problem that many people are facing with current flutter version.
It's already fixed. However, it's not yet released to the most stable version.
If you change the flutter channel to master, you'll see that it will run normally.
You can use the master channel for now and then switch it back to dev.
flutter channel master
flutter upgrade
# to see all the channels, run
flutter channel
https://github.com/flutter/flutter/pull/23397
In short, following Mahi-K from the above link, you have to edit $flutterRoot/packages/flutter_tools/gradle/flutter.gradle
buildscript {
repositories {
google()
jcenter()
maven {
url 'https://dl.google.com/dl/android/maven2'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
In the gradle wrapper properties gradle/wrapper/gradle-wrapper.properties you may also have to change it to 4.6 or above
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Open the root flutter folder in your computer, and open the gradle folder in that root folder (For example C:\flutter\package\flutter_tool\gradle) and add 'google()' to the buildscript. It fixed the issue for me.
flutter root folder:
Add 'google()' in the buildscript:
update flutter or use one of the previous version of gradle by changing the class path in this section.
buildscript {
repositories {
google()
jcenter()
maven {
url 'https://dl.google.com/dl/android/maven2'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}}

Missinig provisoning profile error when building an ios ionic app using xcode 10

I updated my version of xcode yesterday, and now when I build an ionic app that worked perfectly before I get the following error when validating the ipa:
Unable to process application at this time due to the following error: Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision..
How can I get the embedded.mobileprovision to be generated/ included?
Thanks,
Yuval
Currently the best workaround is to opt-out of the new build system:
If you're building on the command-line, you can specify --buildFlag="-UseModernBuildSystem=0":
Cordova CLI
cordova run ios --buildFlag='-UseModernBuildSystem=0'
cordova build ios --buildFlag='-UseModernBuildSystem=0'
Ionic CLI
ionic cordova run ios -- --buildFlag="-UseModernBuildSystem=0"
ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"
If you're building with a build.json config file, you can add the following under the iOS release or debug config:
"buildFlag": [
"-UseModernBuildSystem=0"
]
If you are opening the project in the Xcode IDE, you need to change the build system in Workspace Settings to "Legacy Build System"
Solution from here
Worked For Me. Cheers.
https://github.com/apache/cordova-ios/issues/407 has an answer,
\just build with the --buildFlag="-UseModernBuildSystem=0" and adjust project settings to build using legacy mode.
It seems like this issue has been resolved with the release of cordova ios 5.0.0 ( https://cordova.apache.org/announcements/2019/02/09/cordova-ios-release-5.0.0.html ) - they added compatibility with the modern build system

Nativescript Tutorial: error with livesync

I'm running on macosx with nativscript 2.0 (typescript+angular2 tutorial).
I just ran the tns run ios --emulator command and then ctrl-c.
Then running this command: tns livesync ios --emulator --watch
results in:
.
.
.
Transferring project files...
Successfully transferred all project files.
Applying changes...
**Error Command failed: killall sampleGroceries2.app
No matching processes belonging to you were found
while executing killall sampleGroceries2.app.**
I have tested the {N} + Angular2 tutorial and afer following the instruction I had no problems with the livesync option.
Have you updated to NativeScript 2.0.0 - I have noticed that this error was logged in the previous version 1.7.1.
If you need to update your NativeScript version globally you can run
npm install -g nativescript
After that step you can remove/add the platform folder from your project with the following commands
tns platform remove ios
tns platform add ios
Also delete the node_modules folder and the re-run
tns run ios --emulator
To check your current NativeScript version you can execute
tns --version
The latest official release of {N} has some livesync fixes so now your command should run as espected - let us know if that solution was appliable for your case.

Resources