Using Frida on XCode Simulator - ios

Does anyone has experience with setting up Frida to work with XCode Simulator? I have been searching online but this is the closest thing I've got (https://programmersought.com/article/54464074345/)
However, when I compile and run the app on simulator, I did not see what was described in "quick smoke test". Any help is very appreciated !

As iOS simulator is essentially running apps on your native mac OS host, you can interacts with apps directly as if they are running on your machine.
In a nutshell:
Don't use -U argument as iOS simulator is not a USB device
frida-ps should give you a list of running processes, including the apps running on the simulator.
The rest of the APIs should work in the same way they do for mac OS host.

Related

Running flutter app in real iOS device [Windows]

I've been searching similar questions but ended up with concerns regarding the actual deployment. I have no problems deploying ios version because I'm using codemagic.
My question here is if it is possible to perform flutter run if I connected an iphone? Like how I use my android device and have USB Debugging enabled.
There are cases that some functions work in android but doesn't in iphone. So if it possible to run my app in an iphone and debug it, I'll just buy an iphone instead of mac since my windows machine is very capable.
Technically you have to own a Mac to build iOS apps. You can use external service to do something similar to what you want though. You will never be able to plug your iPhone to your computer and update your app but you can build an app and install it on your iphone.
For example with Appollo. In this case you have to install Appollo from your CLI
pip install appollo
Then configure Appollo to work with your developer account.
Finally, you can build an IPA file
appollo build start --build-type ad-hoc
appollo build ipa
and you can then install this IPA on your physical device.
No, unfortunately you cannot do this because the one who builds the application for iOS is the Mac machine, not the Windows device. So, the problem here is not in connecting the mobile to Windows, but rather in the reliability of building iOS on Mac devices only.

Cannot use my iphone as adb in vscode on my windows machine

I have a windows pc and having vs code installed, but I have a IOS phone iPhone 11
I am a flutter developer(App developer) I want to test my created app on my iPhone, My laptop has a type 3.0 cable I used to connect with my iPhone
My iPhone is connected to my laptop using wire, i can control my ios from windows explorer but i cannot see connected device available in my vscode
In explorer
But only 3 devices is connected in vscode
You can't run an app on an iPhone in windows OS. you have to use Mac OS to run or test the IOS app. Apple limited environment of IOS and iPhone.
Unfortunately you can't run flutter apps from a Windows environment to ios the only way is you have a Mac device.
you can check the following question and see the suggestions there it might help you understand why it's not possible to this.
Developing for iOS device in Windows environment with Flutter

How to build iOS app using Flutter with Windows 10

How can I build iOS app using Flutter with Windows 10?
I clicked in (build - Flutter - iOS app) from the tab bar, but it responds:
Building for iOS is only supported on the Mac.
It is not possible... You have to have a Mac to build an app for iOS.. That is Apple rules!!
It is not possible on a Windows 10. This way Apple can force developers to buy Apple hardware to develop for both platforms. You can try Hackintosh on a PC which will let you create IOS apps on non apple hardware.
It's not possible directly with Windows. You can achieve it though by using external services that provide Mac build machines. One of these services is Appollo.
Once you have Appollo installed and set up you can run the following command in your console to build your app
appollo build start --build-type publication
this will pre-publish your app on Apple Connect. You then have to add your screenshots etc...
You need to have xcode to create IOS app which is available only on OSX. Not on Windows. Not on Linux or anything. But using Hackintosh (Mac OS on normal desktop or laptop hardware) you can build IOS app on that PC or laptop though.
Apple only allows iOS emulator which is running on macOS, so we need to run macOS on your non-mac computer
Two ways:
Hackintosh (macOS running on non-mac device)
Virtual Machine (VM)
The first way can give you a high-performance environment (compare to VM) to run iOS simulator. But it's strict to your hardware. The best way is to use hardware as close to the original mac as possible.
The second way has better compatibility. You just need to download macOS's image and install system in VMware or other VM software.
But VM will degrade performance, and in my case neither of my graphics cards seem to work, so I'm guessing my CPU was rendering the GUI. Also, modern macOS (meaning better visuals but more rendering pressure) is slower than old macOS.

How to get Flutter Application running on real ios device with Windows?

Is there a way to get a Flutter Application running on own ios device with Windows and without paying money?
No, it is not possible to run an iOS simulator on Windows.
The reason for this is the following (highlighting is mine):
Simulator allows you to rapidly prototype and test builds of your app during the development process. Installed as part of the Xcode tools [...]
This means that iOS simulator come only with Xcode. And Xcode is only available on MacOS.
This means that you will either need to run MacOS yourself or use a service that runs your app on MacOS for you.
See also: https://stackoverflow.com/a/28573/6509751
For Flutter this means that you will have to test your code on Android, Desktop, or Web locally. You can still run an iOS simulator in your CI or do something similar to what was described in the answer linked above.

How can I connect IOS project created by flutter to firebase? [duplicate]

I am new to developing mobile apps and wanted to try Flutter but I use Windows. Because Flutter doesn't support Windows yet I had the idea to use a virtual machine running Linux to install Flutter. Does this work?
Also in the Flutter setup it says this:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
Is there a way to develop iOS apps without having a Mac?
Yes, you can develop iOS apps with Linux (or Windows) using Android Studio or Visual Studio Code. The point of Flutter is that you have one code base and can deploy to both Android and iOS. So the development phase is no problem.
In the past you could only deploy iOS apps to the App Store if you had a Mac, but there are some more options now. See the following articles:
How to sign Flutter apps for iOS automatically without a Mac
Developing and debugging Flutter apps for iOS without a Mac
How to develop and distribute iOS apps without Mac with Flutter & Codemagic
Build an iOS app without a Mac or iPhone using Flutter
To test your app on the iOS simulator, though, it is still necessary to have a Mac. However, theoretically the app should have the same behavior for most things as on an Android device, so you wouldn't necessary need to test it using the iOS simulator. I would say long term you would probably want to consider getting a Mac, but it is certainly not necessary in the beginning.
Update: In a recent app I made, my tests passed in the Android emulator but crashed in the iOS simulator. It was a normal bug and nothing specific to iOS, but for some reason the Android simulator didn't crash. So for a production app, you really do need to test it on an iOS device/simulator.
As you point in your question:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
You can work around by using an external service (like Travis-ci or other) to build your code for iOS. However it's not usable as a developer workflow as that can take several minutes to get the artefact.
You should check out MacOS cloud solutions like MacInCloud. There are CI/CD solution that will support it (e.g. CircleCI and BitRise) however these are not suited for development.
Services like MacInCloud allow you to remote desktop into a Mac where you could conceivably use XCode remotely.
Windows is now partially supported in the way you can edit and publish for Android but you still can't create for IOS where a mac is required (XCode).
More informations https://flutter.io/setup-windows
You can use tools like Appollo to do just that directly from Windows or Linux. Appollo is a python CLI tool.
To install Appollo run pip install appollo, then setup your developer account with Appollo (https://appollo.readthedocs.io/en/master/tutorial/2_configure_app_store_connect.html) once this is done you can start building your app with appollo build start
You can check out a few example videos here : https://www.youtube.com/channel/UCBNRrJd4UP0QQRoYF4JOEmA

Resources