Manually ziplalign-ing android unsigned APK exported from Xamarin - xamarin.android

Is the APK obtained by clicking "Open Folder" (hence unsigned APK) under Build/ViewArchives in Xamarin already zipaligned?
And if it is, can I cause any problems with the package if I manually zipaligned it again and then manually signed it using a *.jks keystore file in command prompt before uploading to Google Play Store?

Related

How to install .ipa file from Github Releases

I have an IPA which is signed with the correct profile for an iOS test device that I have. If I airdrop the IPA file, it installs and works correctly.
I have a Github Actions workflow which builds, exports and signs the IPA, and stores it as a release artifact. I want to be able to install that from the Github iOS App or from Safari, but when I download the IPA, it just goes into my files without any action to install. Is there a way to install the IPA in this context?
We used to use AppCenter, which allowed you to download and install the deployed IPA from a page in Safari, so I'm wondering what they were doing differently which instructed the phone to install the IPA instead of downloading it as a file?

Generating an IPA file for a flutter project without a paid dev account

so I just finished a Flutter mobile app and I want to install on my personal iPhone. I know about the 7 days restriction, but buy an apple dev account for 99$/year was a bit too much for me so I used an external service. You pay them a lil bit of money and give them your iPhone's udid and they give you back the certificate and provisioning profile files and you can use an external signer to sign your apps. I have already done this for an app of mine a few month ago. But now I'm struggling with generating the ipa.
How can I generate the ipa file with the free apple account?
He again, so the way to generate an unsigned flutter ipa is by first going to Xcode and changing the build configuration of the scheme to Release :
Click on Runner, and Edit scheme
Select Release for the Build Configuration of the Run schema
And then on the terminal in Android Studio run the following command :
flutter build ios --release
This will take a minute or two and when it's done go to this folder : your-app/build/ios/Release-iphoneos and you should find your runner.app file. Create a folder named PayLoad next to it and copy and paste the runner.app file inside this folder. After that you wanna compress your Payload to get a new file named Payload.zip. Change its extension to ipa and you're done.
You can now use whatever you want to codesign this ipa file.

How to build flutter iOS app without AppStore

I made an app for me and my friends and I don't intend on publishing it on the app store, it's easy to build the apk file for android and send it to them but some have iPhones. Is it possible to build the IPA without an apple dev account, macOS and all those certificates?
I would install it with cydia impactor and renting a mac server to do the build is no problem.I read the post on flutter.dev but it's overwhelming for what I want to do.
It's possible to create an unsigned iOS .ipa without code signing or Apple Developer account.
Run the Flutter app first to an iOS simulator to generate iOS build on /build/ios.
Create a folder anywhere you like with
the name Payload - note that this is case sensitive.
Navigate
to /build/ios/iphonesimulator and copy Runner.app to the
Payload folder you've created.
Compress the Payload folder with
default .zip format
Rename Payload.zip to Payload.ipa

Flutter ios build for testing

I would Like to know how I can build a release app without registering it to the app store. I would Like to have the APK file and share it with friends for testing purposes without registering the app. Cant find information connected with this.
Thanks!
UPDATE:
Found solution for getting .ipa file which was installed with Cydia Impactor on a real device:
# flutter build
flutter build ios --release --no-codesign
# make folder, add .app then zip it and rename it to .ipa
mkdir -p Payload
mv ./build/ios/iphoneos/Runner.app Payload
zip -r -y Payload.zip Payload/Runner.app
mv Payload.zip Payload.ipa
# the following are options, remove Payload folder
rm -Rf Payload
You can follow this article to make .ipa file. (.apk is for android only, for iOS it's .ipa)
https://medium.com/mλgnξtλr/how-to-export-a-ipa-file-from-xcode-without-a-dev-account-bac8b2645ad3
Keep in mind that, apple is signing build to be installed on real devices, so you have to turn that off, and after making an ipa file, you can upload it to www.diawi.com and get link from there to share it with your friend. This diawi links are not working some times, in that case you can use cydiaimpector tool for installing the build.
For this installation, your friend has to put their apple id and password upon requested, here NOTE that if your two factor authentication is ON, then you have to create app specific password to be entered in.
How to create app-specific password?
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwiSvpjUo-fjAhXt8XMBHRtBDlUQFjACegQIDBAI&url=https%3A%2F%2Fwww.imore.com%2Fhow-generate-app-specific-passwords-iphone-ipad-mac&usg=AOvVaw3chF3FoIcfHZLR6jExh_EZ

Can gomobile build app be published on appstore

gomobile build is a simple go mobile tool to build app, it is easy to build ios / android app cross platform, but can gomobile build an app (ios/android) to be published on the App Store or Google Play?
Here is a document to show how to publish go build app on Google Play.
However, there is no document on how to publish an app on the App Store
how to do this, is it possible ?
I tried on appstore, it reports
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.company.app [Payload/App.app] is invalid
First you need to create a runnable apk file using gomobile toolset.
Given that you have gomobile initialized and NDK installed
gomobile build -target=android -v -o=myApp.apk path/to/your/goProject
Or install directly into your phone (to test out first) with
gomobile install .....
If you use gomobile build, you may have to first sign your app using either jarsigner or android studio
Then follow instructions from Google to finally publish into appstore
There is an example Gomobile project on Github for more info

Resources