different, visual appearances of same binary app installed on same iOS version - ios

Recently, I have released a new version iPhone app, but as the following pictures, the back button of pages and the general button respectively have difference appearances in spite of the same iOS version(v8.4)
I must admit that I do not have deep understanding about iPhone app, and my iPhone app has been built on the Xamarin platform.
Does anyone know why this is occurred?
Back button
general button

Seems like the one device has button shapes turned on. This is an accessibility feature. If you can, check Settings → Accessibility → Button Shapes on that device.

Related

Problems with device target for iOS app

)
Hello all :-)
I want to release an iPhone/iPod Touch only app. However, I know iPad users can still download the app from the app store, which is fine by me. I was simulating my app on simulator to see how it would look like on an iPad. When I simulated it, the app looked terrible: the layout was not the same as the iPhone version, some labels were colliding and buttons were "cut" out of the screen.
I want iPad users to have the same view as an iPhone. I believe a 1x/2x button would appear on the screen in that case. How can I do that?
Any help/advice would be really appreciated!
Thank you :-)
When you upload your app to the App Store it will also allow iPad users to download the iPhone version of the app. This will have the 1x/2x button you are looking for.
However if you test your project on the iPad simulator before you upload the app, it will not be the same iPhone version of the app that the iPad users will see. Instead the simulator will run an actual iPad version of the app which is not what your looking for.
In your project settings, set your target device to iPhone only. Upload the app. When iPad users download the app they will get the iPhone only version with the 1x/2x button for the iPad.
In your project settings, make sure the "Devices" settings is "Universal" (this is under "Deployment Info"). If it was not before, you may have to make some layout adjustments.
Use Autolayout for fixing the design issues
in storyboard right pane -> attribute inspector -> simulated metrics-> select inferred in size for all controllers
You should be seeing this in the simulator (note the letterboxing on all sides):
And your build settings should show 1 as the target device family:
If not, you are iPad-native and that's the source of the trouble.

iOS: Which flag in Xcode will declare my app for both iPhone and iPad?

I have developed an educational app, and have built it with a storyboard of iPhone. It is working perfectly on iPad without a need for a change (except for pressing the 'X2' button).
Now that the app is active in App Store, I see that iPad users who search for my keywords, do not receive my app in their search results, unless changing the top menu from 'iPad Only' to 'iPhone Only'.
I am wondering if there is a flag that will set my app to appear in the search results for iPad users too.
Or am I forced to create another storyboard?
Will appreciate you help!!
There is no flag for that.
You can create a Universal App (meaning you do support both iPhone and iPad) which then will mean your app is listed in both iPhone and iPad searches on the App Store, however you need to also provide a UI for the iPad version too in this case!
I have found the answer to be: Targeted Device Family
When setting it for both iPhone and iPad, a different UI will be presented for iPad, and you should adapt it to appear correctly.
EDIT
As mentioned by #Lefteris, each target can be marked as universal for that same purpose, but Targeted Device Family exists in the project level and allows setting that flag for all target at once.
I'm still missing a practical guide for turning an iPhone app into universal: how to add a storyboard and how to turn a two-levels behavior (table -> data) into a split table view.

Xamarin App Keyboard is a different size to iOS Keyboard

I'm developing an iOS app in Xamarin (not using Forms, using Xamarin.iOS) and I have noticed that the keyboard which appears in my Xamarin built app is larger than Keyboards which appear in other apps.
E.G. My app
E.G. Other iOS app (Apple Notes)
The numbers aren't really important, what is important is that there is definitely a difference in size between the two keyboards in terms of key height and key spacing.
There does not appear to be any obvious options or settings surrounding this. Trying different Keyboard Styles (I'm using "Default") does not solve the problem.
I would like to get my Keyboard to be the same size as a normal iOS App Keyboard.
EDIT
Krumelur's answer is correct.
This is how I specified the launch screens
https://stackoverflow.com/a/25960203/807836
In Visual Studio, there does appear to be an issue with this XML entry being lost if you edit the project file through the IDE.
This is not Xamarin related. Your app is running in compatibility mode on an iPhone5 or 6. You will have to provide a launch screen for the particular device or a launch image to let iOS know you support the bigger screen.
See here on how to use launch screens.

Xcode 7 Beta warnings: Interface Orientations and Launch Storyboard

I opened my project in Xcode 7 beta and I am getting the following warnings which I do not get in Xcode 6:
All interface orientations must be supported unless the app requires
full screen.
A launch storyboard or xib must be provided unless the app requires
full screen.
The app uses Portrait orientation for devices only, and I have it set that way. I also have storyboards for both iphone and ipad interfaces. I can't determine why I am getting these warnings. Is this an Xcode 7 beta bug?
This warning is new for iOS 9 since it supports resizable apps with multi-window support. Previously, apps would be auto-scaled to new devices which had different hardware display resolutions to those in the launch image (which is basically how iOS detects the supported interface resolutions). Now, apps which support multi-window must define the resolutions they support by including a launch image or storyboard for all device screen types.
Unless you are re-writing your app to support multi-window, you will be requiring 'Full screen'. This is a hint to iOS that you do not support multi-window, and basically makes iOS 9 work like previous versions in this regard.
So, if you are submitting an app update for iOS 9, and you do not support multi-window, all you have to do is to go to your Project Target settings, select General, and under 'Deployment Info' look for the tick box called 'Requires Full Screen'. Tick this and the warnings will disappear.
It is certainly not a bug. If this warning is present, then your app may have trouble during submission. Not sure about that, because I haven't submitted an app with iOS 9 GM Seed yet, but I'm certainly going to tick the box :-)
Just go to your target,click "General" tab,find the "Deployment Info" section,check the "Requires full screen". :)
It's so easy,right?
BTW, this is not the best solution. There will be more and more better solutions. But when I answer this question, I only thought how to kill the warnings. I didn't explain why do this but how to solve this. Xcode beta version might change it's features, so I just provide a "workaround" at that early time. So if you think my solution is a workaround, please vote up for other better answers. But this is not the reason for voting down. Thanks :)
This is because Apple has added multi task ability in iOS 9. All you need to tell Xcode is that your app require full screen.
Add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES.
To read more about it in general.
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html
I just saw this error and after reading the comments, I surely want to support iPad and multi-window use. This is as simple as checking Device Orientation options "Landscape Left" and "Landscape Right" and making sure that my UI supports these.
Best way I found to test for good multi-window support is to use the resizable simulators, or better in my opinion, use the iPad Pro in XCode 7.1 and actually activate the multi-window feature by dragging from the right. After taking these steps, I my app supports these features and I'm able to quickly see what I need to update or optimize to fully support them.
By default the Device Orientation only enables Portrait, Landscape Left, and Landscape Right. You need to enable the Upside Down as well.
“Clean Build Folder” and build again
I got the All interface orientations must be supported unless the app requires full screen. message today in Xcode 7.3.1, seemingly for no reason, no related change that I made.
I do have a LaunchScreen.storyboard
I have not checked Requires full screen.
I tried the usual maneuver when Xcode leaves me puzzled about some-new-error-for-no-good-reason:
Hold down Option key while clicking the Product menu.
Choose Clean Build Folder (not Clean).
Choose Product > Build.
No more problem. After a few more build-and-run sessions, the error message has yet to re-appear.
Have you provided a "Launch Storyboard" for your app? Or have you just provided static images for the various sizes.
Check here:
https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html
Set UIRequiresFullScreen to YES in Info.plist. And tick Requires full screen.

Unable to select my custom keyboard from the available keyboards list

I'm developing a custom keyboard app for iOS devices. After adding keyboard extension to my app I added a TextView to Main.storyboard and then I ran my app on an iPhone 5 simulator.
For adding my custom keyboard to available keyboards list I went to Settings > General > Keyboards > Add new Keyboard & here I added my custom keyboard but when I'm returning back to my app and trying to select my custom keyboard by long pressing the globe icon, my custom keyboard has not been shown there.
What's the matter here?
Please reply & I'm sorry for no code as I haven't coded any yet.
Thanks in advance
Please neglect the mistakes!
There is a bug concerning the simulator.
Either you run your extension on a real device or you can use the Photo app or Safari browser of the simulator to test your extension.
general article about developing iOS keyboards (head for “The Simulator”)
As of Xcode 6.1, you can no longer open 3rd party keyboards in most apps in the Simulator, including your own. (And not just 3rd party keyboards: most system keyboards refuse to show up, too.) Not only does this make debugging a whole lot harder, but it also prevents you from easily making screenshots of your keyboard if you don’t own some of the newer devices. This issue is marked as a bug in Radar, and seeing as how it first appeared in the Xcode 6.1 betas, I cannot fathom how it got through to release.

Resources