Codemagic Skip publishing to App Store Connect: no IPAs or PKGs found - ionic-framework

I use CodeMagic for CI/CD on an Ionic application with Capacitor and VueJS. The whole build process goes very well, up to the publishing process. I have this final log that makes the app not be sent to TestFlight :
Skip publishing to App Store Connect: no IPAs or PKGs found
ID : 63b942a48ab154742fe6b4d9
I have the codemagic.yml configuration for Ionic and Capacitor...
https://user-images.githubusercontent.com/56630992/211145195-f9233bce-34d0-40a2-86ae-23bf2b936a52.png
https://user-images.githubusercontent.com/56630992/211145181-55a2ec19-5a23-417e-b416-f3a994bb935a.png
Thanks in advance
I have these lines into the codemagic.yml file :
artifacts:
- build/ios/ipa/*.ipa

make sure your artifacts path starts from the repository root and correct one.
Also you can use absolute path like $CM_BUILD_DIR/ios/App/build/ios/ipa/*.ipa

Related

How can I run flutter web app without internet connection

I created a flutter web application,
and I finished building it with the command ..
flutter build web --release ,
and then transferred it to a local server ,
The site does not work unless it is connected to the Internet ,
I want the site to work without an internet connection ,
As I work in an organization and some users do not have internet permissions .
Please, I want a solution to this problem .
Thanks
The problem is, that flutter has some dependencies, that can not be resolved when you, as the client, are offline. Mostly consisting of canvaskit and certain google fonts.
There are multiple solutions for that. The easiest being to use the html web-renderer:
flutter build web --release --web-renderer html
this should work for most applications, however it has lower performance than canvaskit, especially with high widget density.
Therefore you can also use canvaskit locally as it is automatically built when you build your release. But you have to set it as base url, by adding the following lines in your index.html:
<script>
window.flutterConfiguration = {
canvasKitBaseUrl: "/canvaskit/"
};
</script>
This makes sure your flutter application uses the local source for canvaskit. However, another problem could be the usage of google fonts, e.g. Roboto, as those often need to be downloaded as well. But you can just add those to the pubspec.yaml explicitly to account for that, like explained here.
Some sources for more informations:
flutter web-renderers
The same issue but on github
Making Flutter offline capable
Download and set locally from asset policy for your web application
Add link to local Canvaskit as bellow :
flutter build web --web-renderer=canvaskit
--dart-define=FLUTTER_WEB_CANVASKIT_URL=/canvaskit/
To make it work for a dev build, I incorporated Spanching's answer above in the following steps.
Run: flutter clean to clean up all build cache (this is important to have canvas kit re-downloaded in step 4 below).
Run: flutter pub get to download packages per pubspec.yaml
If you're using build runner: dart run build_runner build --delete-conflicting-outputs
At this stage you should have a clean /build folder (I also have an ios sub-folder as I'm also developing for iOS)
Run: flutter build web
At this stage you should have a clean /build/web added with a canvaskit folder underneath it. Full path: /build/web/canvaskit/
Then:
Open index.html under /web (note - do not open the one under /build/web)
Add the script mentioned in the answer above to the body of the html file. I just added it above the existing script that's already there.
Run your project in deubg mode (with Wifi turned off).

Flutter app which uses huawei_push rejected by Google Play Store

I want to use huawei_push kit in my flutter app but Google Play Store rejected my app because of PendingIntent issues (security rules). I want to use the same source code for Google Play Store and Huawei App Gallery. I was thinking of:
building APK based on flavor (huawei push kit dependencies won't be used in built APK),
using different pubspec.yaml files to avoid huawei push kit dependencies in the whole project.
Question:
How can I use huawei_push kit just for Huawei App Gallery still using the same source code for different stores?
Update:
The problem has been reported to R&D Team. And it's expected to be fixed in the next version.
At the same time, we provide a workaround solution. You may refer to this before next version release.(The Flutter plug-in is open source, so you can modify it directly)
Here's how to modify:
1.Open the pubspec.xml file in the root directory and find the plug-in.Like following:
dependencies:
flutter:
sdk: flutter
huawei_location: 5.0.0+301
You need to find the cache directory of the Flutter, for example:
Find the plug-in directory, for example:
If the plug-in points to a directory, for example:
dependencies:
huawei_location:
path: {library path}
directly access the directory.
2.Modify the build.gradle file in the android directory to modify the SDK version on which the file depends.
For example:
implementation 'com.huawei.hms:location:5.1.0.303'
P.S. The PendingIntent issue has been resolved in Push kit 5.3.0.304. So you can directly use this version.
After the modification, run the following command to trigger compilation:
flutter run

Error while uploading Flutter App to App Store: Non-public API usage

I am new in Flutter Development and i have developed an app with Webview.
I have upload an apk on Google Play Store that is accepted but for App Store it shows some error.
Please find below error,
ITMS-90338: Non-public API usage - The app references non-public
symbols in Frameworks/Flutter.framework/Flutter: _ptrace. If method
names in your source code match the private Apple APIs listed above,
altering your method names will help prevent this app from being
flagged in future submissions. In addition, note that one or more of
the above APIs may be located in a static library that was included
with your app. If so, they must be removed.
For this error i have search many things but i am unable found any solution for this.
So please any one who is capable of solving this please help me to resolve this.
Thanks & Regards,
This happens if you are submitting the debug version to the AppStore, Flutter team recommends you to first run
flutter build ios --release
before archiving your app in Xcode.
First make sure you are submitting a release build with flutter build ios --release
If that's not the problem here you could find similar problems related:
flutter build ios --release may use a debug Flutter.framework by mistake
In my case, I updated my Mac to 10.15(Catalina), while the update my cocoapods installation wasn't there. So whenever I try to upload using the command flutter build ios --release and archiving it. Apple sent me the same email you received.
You can install cocoapods using the following commands.
step 1 Open terminal
step 2 command: sudo gem install cocoapods
step 3 set your project path on the terminal.
step 4 command: pod init
I hope it helps.

Ionic downloads from github - can I avoid doing this with each new app?

I am new to Ionic and just getting used to it. However I have noticed that when I create an app files are download from github such as:
Downloading:
https://github.com/driftyco/ionic-app-base/archive/master.zip
Often working without internet access is there a way that files I might need can be downloaded once and stored locally?
Yes, you can avoid downloading it with each new app. When you wrote something like to
$ ionic start YourAppName tabs
tabs - is an alias to Ionic starter repository. You can replace with relative or absolute path to a local directory.
Check out more about start parameters there - Starting an Ionic App.
EDIT: I don't see a reason why the code below couldn't work. And Yes, you have to unpack your default app files to some folder.
$ ionic start YourAppName c:\Temp\ionic-app-base-master
The command ionic start myApp will always create your project with the latest version of Ionic. It will always download the github. Currently there is no how to create a new project without using the downlod of the github.
You can create a blank project and uses it as "boilerplate project" (ionic start myApp blank). Then, when necessary, to update the Ionic (newest version) go to the root of your project and run ionic lib update.
Just download all the templates once and use it whenever you need when you are offline. Ionic will always download latest bundle when you do:
ionic start MyApp

Error uploading ionic app

Background:
This app was originally uploaded to my personal ionic account
The app was deleted from my personal ionic account
This error happens when I try to upload the app with my work ionic account
My question is, how do I get the app to upload to my work account?
$ ionic upload
Uploading app...
✗ App ID ae440d8c does not exist
Unable to upload app (CLI v1.4.5)
Your system information:
Cordova CLI: 4.3.0
Ionic Version: 1.0.0-rc.2
Ionic CLI Version: 1.4.5
Ionic App Lib Version: 0.0.22
ios-deploy version: Not installed
ios-sim version: 3.1.1
OS: Mac OS X Yosemite
Node Version: v0.12.1
Xcode version: Xcode 6.3.1 Build version 6D1002
Log in at apps.ionic.io
Create a new App and specify the name of your App.
Copy the App ID to your clipboard for use in the next step.
In your terminal window ensure you're logged into the same account that you were logged into on app.ionic.io).
In your terminal window use command:
ionic link <copied-app-id>
Where <copied-app-id> is your own App ID copied to your clipboard in step 3.
In your terminal window use command:
ionic upload
Get it solved with Chirag thaker's suggestion:
Open ionic.project.json (if not exist find ionic.config.json) file
Set appId to blank (delete the existing appId)
run ionic upload again
I think this is because, your keys are now miss matching, so try
Create a new app in (ionic.io)
Get the app key and public key
Add those to your existing app in
app.js / .config section
$ionicAppProvider.identify({
app_id: 'APP_ID',
api_key: 'PUBLIC_KEY',
//gcm_id: 'YOUR_GCM_ID'
});
try uploading again
In folder root project run:
ionic io init
https://docs.ionic.io/setup.html
Even after reading everything it still looked confusing to me so re-producing here solution again so others can easily resolve it.
Here are the steps:
Login https://apps.ionic.io/apps and Create new App.
Replace your current App ID in your ionic.config.json file against app_id with the help of below screenshot.
Now run ionic upload, and you should no more see the error :)
I've had the same problem..
Sameera207 is almost correct but not quite for my case. ( I don't believe Ionic even looks in your angular JS files )
I think this is because, your ID does not yet exist in apps.ionic.io, so try
Create a new app in (ionic.io)
Get the app ID
replace the app IP to your existing app in
ionic.project file
{
"name": "YOUR_APP_NAME",
"app_id": "YOUR_APP_ID"
}
try uploading again
Also note, that sometimes ( not sure why and when ) the following command:
ionic package build android --release
is truncating the file:
.io-config.json
Making it empty, so it also prevent you from uploading your app again.
i just delete my ionic.project file and re-run ionic upload
To resolve
login to to you ionic.io and create an app in
https://apps.ionic.io/apps
Copy the new App Id
On you development system, go to your project folder and edit ionic.config.json. Update the "app_id" to new id that you copied in step 2. Save file.
From your ionic project run the command: ionic upload.
Remove .io-config.json from the build root; run ionic io init; then try to upload again.
You can reset the io-app-id with the following command then try uploading your app again
ionic link --reset
ionic upload