I have a CSS bug (visual difference) that seems to happen only in iPhone X devices.
what I would usually do in cases like these is use the inspector tool in the browser the bug occurs to find the rule I wrote that is not cross browser, and do a trial and error in the inspector tool until I find what works cross browser and cross platform.
knowing that iPhone uses safari browser - I installed safari on my windows PC but couldn't reproduce the bug.
how can I simulate a browser in a iPhone on my windows PC? or is there another way to find the quirk in this case in order to fix it?
I can't afford a mac.
I have windows 10 on my PC but can also use a linux distribution if needed.
also, this cannot be debugged in a cloud because the security team won't allow the code to be hosted on an external cloud at the stage of development.
As far as I know, your best/cheapest approach would be to run MacOS within a Virtual Machine and then perform the steps Neal suggested.
But keep in mind that you need to run the network config of your Virtual Machine in "Bridge Mode" otherwise your virtual macos can't see any devices on your network.
Related
I'm using Visual Studio for Windows and I have a Xamarin Forms app for Android and iOS. I mostly test physically on Android (since that is much easier) and I have tested on an IPhone as well about a year ago, which worked fine (without a mac). Now I plugged it in again and it doesn't work anymore: the IPhone does not show up in the debugging list.
I have:
Apple Developer account and I'm connected with this account from Visual Studio
Identifier for Bundle
Profile (created by VS itself, with Type 'Development')
What am I missing here? I haven't added the provisioning profile in my solution, is that something that needs to be done? Am I missing another step?
I hope someone can help.
For the exact breakdown on how to setup and get started with your iOS solution, follow Microsoft's Xamarin iOS on Windows guide.
The tl;dr though is: you absolutely need a Mac to run a Xamarin iOS project, even on windows. I do not know how you had your project setup last time, however this has been the case since Xamarin's debut. Although, you could also just have access to a Mac through network connection instead of having a physical Mac. Without a physical device, you can use the Mac's ios simulator. If you are planning on using a physical iphone though, said device needs to be plugged into the Mac and not the windows machine. Later MacOS do support wireless connections of trusted devices, but it is still a wireless connection from the iphone to the mac (needing to be on the same network).
I've seen this topic going around and the answers on each site and post have given it a wide range when talking about how to automate IOS devices from Windows PC.
One side, I've seen it where mainly the answer is: it's not possible due to Apple's rules, or its really messy to set up and not worth the effort to maintain, (though not explained in detail why its messy.) On the other side, I've read articles and posts about recommendations of IOS simulators such as iPadian, Smartface, etc; along with articles suggesting to stay from this software recommendations stating that they likely contain malware and viruses.
I've found other sources suggesting Experitest, Appium Studio, Quamotion, TestProject to test and automate IOS on Windows PC. However, after reading the concerns of being cautious around these sites, and unable to proof if these studios/software legitimately support simulating real IOS environments on Windows and the arguments that are against going this approach, I can't tell which sources are reliable on this topic anymore.
The interest for me asking this question, as you can guess, is that I want to find a way to automate IOS on Windows and experience how run tests on iPhone.
I usually write my code in Eclipse Studio and use Oracle VM to create Android Emulators to test on. I'm fine if I need to have a physical IOS device in order to test.
All advice is appreciated.
Thank you
The best option I would suggest to automate iOS app on Windows is to use cloud based solution like BrowserStack, SauceLabs, etc.
This way you're sure that you will be using actual iOS device and the app would behave the same way as it would on real physical iOS device.
You can even inspect the app using Appium inspector and run the tests with ease as well.
The only drawback of using such solution is that most of them don't support latest version of Appium.
So the work around for this would be to setup Microsoft Azure DevOps pipeline on Mac OSX virtual machine and use latest Appium server version.
The tools you mention - Experitest, Appium Studio, Quamotion,... all use the same approach: they communicate with real, physical iOS devices over a USB connection and then launch an agent (WebDriverAgent or similar) on the device which you can use to automate iOS devices.
They will usually require you to at least configure an iOS developer certificate and provisioning profile (much like you would when you are testing on a Mac).
Most of them also offer you a free trial and support, so you can go ahead and install the software and give it a try.
I have a website and client says it is not working on his iPhone6 browser. Tested layout with chrome dev tools, but most likely problem is not in layout, but some js error occurred.
I have a linux desktop and android device. Is there any way to install/emulate iOS anywhere?
UPD
Ok, this is impossible without device or laptop with iOS. I'll try to install it on vmware or virtualbox.
UPD2
One more way to see the error - setup sentry to log js errors and ask client to test it again
iOS could be emulated only through Xcode on Mac OS.
Even though, you always can emulate Mac OS ;)
I had the same problem. This website saved me: https://appetize.io/app/standalone_2p3b4d0weqbr42d31n6cfqby74?device=iphone8&scale=75&orientation=portrait&osVersion=13.7
The emulator that you see on the front page only works for 60 seconds but if you sign up (and don't choose a paid subscription) you can still test it for free in an emulator that can run for longer time. There you can also choose phone type, iOS version etc...
I'm using the android emulator in this environment (VMware fusion5/windows 8/vs2012-mono for android) and it's working ok for degugging, but I'd like to switch a license to this machine so I can use it for actual device testing. Since you are limited with the number of times you can repurpose a license with xamarin, I'd like to know if it'll actually work before I activate the license on this environment. Anyone doing it?
Thanks.
In case anyone needs to know, it works fine. VMware sees the device when it's plugged in and asks if you want to connect to windows or mac. Choosing windows lets adb see the device.
Background
A few years ago I was developing for C#, WPF and Silverlight and then moved to developing for Android.
I've decided to give Windows phone a try, and install the newest Visual Studio Pro 2012 with its Windows phone sdk, together with the latest version of Windows - windows 8 pro.
I've created a new Windows phone project hoping I will start learning from a hello world project, and I've launched the emulator .
Some specs information
OS is windows 8 pro (final) . 64 bit CPU .
Visual Studio Pro 2012
Windows phone sdk 8
Connected by usb to a wireless D-Link device (DWA-140) .
The problem
Just as soon as I've started the emulator, a dialog came asking if I want to enable networking:
When I chose that I want, an error has appeared:
After selecting ok, the emulator crashed.
Knowing how to search for solutions on the internet, I've found a few (like here and here ) that suggested me to delete the network switches, create an internal switch, and whatnot.
The question
I don't understand what I'm doing wrong, and this is just my starting point. Can anyone please help me with this error and how to make the emulator work?
Please tell me the exact steps that I need to take.
EDIT: after uninstallation of anything related to VS and WP , i've re-installed them both and i still get the same errors.
Not only that , but when trying to create a new external switch (which some websites offered) , it showed me the next error :
How could such a basic feature of an emulator be missing out of the box ?
You might try a couple of things.
First, verify the network connection settings for the "vEthernet (Internal Ethernet Port Windows Phone Emulator Internal Switch)" adapter.
To do so, open "Control Panel\Network and Internet\Network Connections" in Control Panel. Right click on the "vEthernet (Internal Ethernet Port Windows Phone Emulator Internal Switch)" adapter, and choose "Properties". Under "This connection uses the following items:" verify that ONLY the following options are selected:
Client for Microsoft Networks
QoS Packet Scheduler
File and Printer Sharing for Microsoft Networks
Microsoft LLDP Protocol Driver
Link-Layer Topology Discovery Mapper I/O Driver
Link-Layer Topology Discovery Responder
Internet Protocol Version 6 (TCP/IPv6)
Internet Protocol Version 4 (TCP/IPv4)
In addition, you may want to review the network adapter settings for the emulator image in "Hyper-V Manager"
Verify the network adapters that are shown are valid. You might try disabling some (like the adapters connected to the WiFi or Wired Ethernet adapters on your machine) if the adapters they are bound to are not currently enabled in the OS.
Let me know if that helps!
I suspect you may be running afoul of UAC. As you've noted, it's trying to create a virtual device. Doing so requires elevated permissions. If I were you I would either run VS2012 as Administrator or completely disable UAC until it's all installed and configured, and then you can turn UAC back on if you prefer it on. I think Allen's comment about manually creating a VM with the appropriate networking is astute and a worthwhile experiment, since it sidesteps the possible UAC issues.