Differentiating iPhones and iPads on Desktop View - ios

I was wondering if there was another way for the browser to detect if the device is an iPhone or an iPad. When the user switches to desktop mode, the user agent string reports the device as a macOS Catalina. I have found a way to detect if the device is a mobile device but I can't find out if it is an iPhone or an iPad, and since we show different web components based on the device, this information becomes important.
I tried looking at javascript `screen.width property which gives the UIKit Size of the screen. This would have been a hack to identify the devices until the previous generation of devices, but the resolution of the iPhone 11 Pro exceeds that of one of the older iPads. Are there any other suggestions on detecting the devices that can be done with the browser on desktop view?

Related

ipad does not properly recognize mirroring to mac

I want to share a note in Notability app on my ipad as a white board for an online Zoom lesson.
For that I connect my ipad to my mac through cable, and mirror my ipad screen to my mac using the Zoom application's option of share of ipad via cable.
The ipad's screen is mirrored, namely, appears on my mac (usually, sometimes it doesn't and I have know idea why). However, the ipad's Screen Mirroring window (accessed via the ipad's control center) is stuck in a weird intermediate state: it keeps thinking and does not show any devices, but does show a Stop Mirroring button. In addition, Notability app in the ipad does not recognize the mirroring and does not enable the new presentation mode (but rather keeps showing the Send-to button instead of the display-mode button). For some reason, the mirroring occasionally does work fine, but usually it doesn't, and I cannot replicate what causes it to work.
How can this be fixed?
(My mac, ipad and notability are all updated: versions 10.15.4, 13.4, 9.3.1 respectively.)

App is available for iPad in app store (unwanted)

I uploaded my binary to the app store and in the project portion of the Xcode project it is set to "Devices iPhone". However in the app store it says:
Compatible with iPhone, iPad, and iPod touch.
Why is my app available on iPad? I haven't designed this app for iPad and I don't want it to be available on iPad. What is the deal? How do I fix this?
It is not possible to tell Apple that an app is only for iPhone. All iPhone apps work on iPads.
What's more, if you make your app support iPad and iPhone specifically by changing the assets used based on the device, you can't tell which device it is being bought on.
For that information, you would have to make a seperate iPad-only app. But even then, people can buy the iPhone version for their iPad if they want.
Apps listed as only for iPhone run in a window which has the aspect ratio of an iPhone. The user can choose to run them at 2x magnification if they want it to take up more of the screen.
iPad runs nearly all applications, or apps, designed for iPhone and iPod touch available in the App Store. The App Store also features many applications designed specifically for iPad.
Here are some things to remember when using apps designed for iPhone and iPod touch on your iPad:
Apps may only work in portrait or landscape orientation. These apps will change orientation even with screen rotation lock on.
Apps can run in their original size or expand to fill the screen. Tap the 1x or 2x icon in the bottom right of the screen to switch between sizes.
Text and graphics may not appear as sharp when using 2x mode. If you prefer sharper text and graphics, use 1x instead.
Some features may not be available on iPad (for example, apps that let you make phone calls or use the iPhone camera to take pictures).
More details: Support-Apple:iPad: Using applications designed for iPhone and iPod touch

I don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays?

I don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays or larger?
Also, is it possible not allow the app to run on a certain device? I do not want my app to run on iPhone 4 and 4S.
Rather than selecting for a specific device you should focus on what capabilities you need.
For example Bluetooth 4.0 Low Energy communications supported only in iPhone 4S+ devices . You can add the bluetooth-le key to your UIRequiredDeviceCapabilities to prevent installation on every device but the iPhone 4S+ devices.
I don't think this is a good idea. Apple wants you to develop for as many devices as possible, and if you decide not to support a certain device for no reason (e.g. "no M7 coprocessor" for all devices except the 5S), Apple will reject your app.
You cannot choose an app to only be released for 4" devices, and you have no influence on what display the iPad simulates when it runs an iPhone only app. What you want is simply impossible. This answer was found here: Limit app to running only on 4 inch devices IOS and answer credit goes to #Scott Berrevoets
NO.
You can't make an iPhone app restricted to a certain screen size. Not only is it not technically possible, it's against Apple's App Store Review Guidelines, in ways.
2.10: iPhone apps must run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Although it's an old guideline mentioning the iPhone 3GS, the gist is the same even now: the app MUST be able to run on any screen size. There are even resizable iPhone and iPad Simulators within Xcode that you may use to take guesses on the next iPhone's screen size.
If they made guidelines so that apps can be used on the iPhone 3GS and the 4 and the 4s, said apps should also be able to run on newer phones and whatever's currently supported with the OS.
You said you noticed performance issues on older devices in a comment. This is where you need to work. How would you go about fixing said performance issues on older devices? Do what Apple did with iOS 7's release:
Reduce graphical effects and unnessicary processor-heavy effects on older devices.
If you look between devices, iPhone 4 has none of the translucency and background blurring that was advertised with iOS 7, namely with Control Center, Notification Center, Alerts, Keyboards, and Navigation Bars. This is how Apple tried to compensate with the lag of the iPhone 4 trying to run iOS 7. Same goes with the iPad 2. The iPod touch 4th generation didn't have enough RAM to run iOS 7, so it's stuck on iOS 6.1.5.
You need to do some work here too. If you have unnessicary graphical and processor-intense effects in your app that causes lag and performance issues, disable them on devices that can't run them at a smooth frame rate.

UI Issues in converted android Apps to BlackBerry platform

I am on a process of converting an Android app to run in Blackberry platform and to publish it in BlackBerry World (BB Market place).
So I continued to follow the following TUTORIAL and yes it runs well in BlackBerry 10 Device Simulator but with some issues.
In the android App, it has seperate UIs defined for the main screen catogories as follows and works great in all the screen sizes when it is running on android.
layout-small
layout
layout-large
But the converted App to BB, in some cases a part of the UI from the bottom goes beyond the screen limit (In BB 10 device simulator) and does not fit well with the blackberry screen. Basically UI height is too much for BB 10 emulator screen
Also when I check in the converted app while it's running on BB 10 Device simulator it has refered to the UIs defined under layout-small from android APP.
So my questions are
1). What can I do to make the UIs fit well (In converted android App to BB) with all the screen sized BlackBerry devices?
2). How can I ensure that the app will work fine in all the Blackberry screen sizes? (Cause I am using BB 10 device simulator and found no way to get BB Z10 or Q10 device skins)
3). Is it possible to convert the Android app to work fine with pre blackberry 10 OS versioned devices? (As I am not getting the exact point explaining under the "Overview" section of the following LINK)
If someone have experienced the above issues and found solutions would be great to hear and also aprreciate any guidance to get this sortedout. Thanks in advance...!!!
1.) That's a tricky point. If the layout-small is used, I guess you are using the 720x720 simulator, which is Q10 resolution (the Z10 will use layout-large, according to http://supportforums.blackberry.com/t5/Android-Runtime-Development/Android-drawable-folder-layout-folder-for-BB-Z10-and-Q10/m-p/2169275#M3862). Your layout is probably not adapted for a square screen. I'll guess there's no magical answer: you'll have to adapt it. Maybe try it with a Z10 resolution (see point 2) first, to check that it solves your issue.
2.) With the latest simulator, you can choose between a 1280x768 (Z10) or 720x720 (Q10) screen. If the layout is displaying fine on both screen sizes on the emulator, it will display fine on real devices. To change between Z10 and Q10 resolution, you have a number to choose when the emulator is starting (at the very begining).
3.) Android apps runs on two kind of devices: the PlayBook, running BB Tablet OS, and BB10 devices (Q10/Q5/Z10). I guess your question was related to BBOS 7 and before. No, there's no way to run Android apps on them.

Which Apple device to get to program a iOS mobile app with Trigger.io?

I want to make an iOS app but I don't have a Mac or any device with iOS. I read I can make an iOS app on Windows and Linux with Trigger.io. The app I want to make is rather simple.
What I would need is a device with iOS to test. Which devices should I get?
I was thinking on getting an Iphone 4 and Ipad 2 as they are cheap. What do you think? Will I be able to successfully build an app if I only test in those 2 devices?
Those would be good devices to test on. You'd be missing out on an iPad with a Retina display, which would mean you'd be guessing somewhat at the appearance of icons and launch images on those screens, but the most important thing is covering the phone and tablet form factors.

Resources