My App runs on iOS 6 and 7, on the devices it looks fine and on the simulator iOS6 it is fine but in iOS7 all alerts, keyboards and parts of table and collection views have elements that are completely black. They are there if you clock on them. It is hard to explain but you can see from the image.
I think it is do with the fact that I run a lot of things in the background and when I do any UI and force to the main thread (but this could be a red herring).
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void)
{
[self backgroundbits];
....
....
dispatch_sync(dispatch_get_main_queue(), ^
{
[self updateProgressBar];
});
....
....
....
});
Another options is that I have messed up the transparency and tint somehow.
It is just strange it ONLY does it on the iOS 7 simulator.
I have experienced this before. I just resorted the simulator (iOS Simulator > Restore Content and Settings), cleaned my Xcode Project, and quit and reopened Xcode. This solved the problem for me!
Related
I have a 2019 16-inch Macbook Pro with an i7. My iOS simulator is showing terrible behavior on Xcode 12 and 13. The rendering happens only partially. I start typing but only top part of the TextField updates. When I pull my modally presented controllers up and down, it leaves glitches and artifacts in the render whenever I release the mouse pointer from the window. Only when I drag and click something in the simulator, only then the screen updates properly.
I have tried resetting the simulator and the machine, and different versions of Xcode AND or simulator iOS and nothing helps. I also have not found too specific mentions of this issue online.
This is a known issue that was fixed in Xcode 13. It primarily affects the iPhone mini so you can workaround it by using a different simulator.
I am getting black screen on iOS 8 device.
Launch screen from LaunchScreen.storyboard works fine on iOS9 device.
I am pretty sure you did not need a launch image asset for iOS8 until I upgraded to Xcode 7
After much head banging, I found out that I had tried to attached a Cocou Touch file with my LaunchScreen View Controller. That was causing the problem. Once I removed the all outlet references from my launch screen, it started working in iOS 8.
I was testing my app and I click on iPhone 6 simulator and out of the blue instead of what I have in storyboards, the simulators loads something different. It loads my app but the app I had months ago when certain buttons were missing and it lined up my app differently. Then when I closed the simulator turned it back on again, everything loaded like normally with the right app. This happened twice before as well.
Why would the simulator load something different from what's in the storyboards?
Try the following solutions:
clean your project: command + k
reset the simulator under the File-tab in the task bar while the simulator is open
open the simulator and delete the app from it like you would on an actual device. This will force-reinstall the application to your simulator and it will work again.
I don't really know why it does that but I guess that might have something to do with cache or something...
Please suggest me.How to solve this.
I got this reason from iTunes Store**"iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution"**
But I built in only for iPhone.
I got answer of my question.But i didn't change anything in my code.I submitted the same build to the AppStore.App store is accepted my same binary,This is worked for me.
In order to determine if your app is running in iPhone resolution on iPad, embed this code in you opening view controller class:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSLog(#"width = %f, height = %f", self.view.frame.size.width, self.view.frame.size.height);
}
If your app is displayed in iPhone resolution, you will see this in the output console:
width = 320.000000, height = 480.000000
I had the same app rejection reason and it turned out that in FACT my app WAS in iPhone resolution on the iPad, but in iPhone 4 resolution (which I didn't design it for) which made it look like it was in iPad resolution even though it wasn't. Apple has dropped support for the iPhone 4 with iOS 8 and will likely drop support for iPhone 4S with iOS 9, so I neglected to design the app for iPhone 4 which meant that some of my UI elements at the bottom of the screen were not visible on the iPad displaying iPhone 4 resolution. That was the reason for the rejection (really dumb since it's not even an iPad app).
This is what I got back from Apple Developer Technical Support:
While your app may be built for iPhone or iPod, it must still run on
iPad. Did you test your app on an iPad prior to submission? If you
don't have an actual iPad device to test with, many issues that lead
to a 2.10 rejection can be spotted by testing in the iPad simulator.
I'll go over a couple of the most common ones here:
1) Controls or Important Content That Underlap the Status Bar
If your app places controls or important content in the twenty points
below the top of the screen, they will be cutoff when the app is run
on a retina iPad [1]. This can lead to a poor user experience. Make
sure that your app positions controls and important content below the
status bar. You can use the topLayoutGuide property from within your
UIViewController instance to access the current status bar height.
You can also create Auto Layout constraints between the topLayoutGuide
and your view controller's subviews to ensure they remain positioned
below the status bar at all times.
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UIViewController/topLayoutGuide
2) Authoring Your Interface Specifically For the 4" Screen
Both the iPad and iPad retina simulate a retina 3.5" display when
running iPhone apps. This means that content positioned 480 points or
more below the top of the screen will not be visible when the app is
run on an iPad (or an iPhone 4, and iPhone 4s for that matter). This
can lead to a poor user experience. Make sure that you have designed
your interface to adapt to any height. This means either adopting
Auto Layout[2] or overriding
-viewWillLayoutSubviews/-viewDidLayoutSubviews in your view controllers to manually position your elements for the given screen
size. If your app displays more content than will fit on a 3.5"
screen, consider placing it in a scroll view.
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/UIScrollView_pg/Introduction/Introduction.html
Before we continue, please try running your app on either an iPad
device or the iPad simulator (both the regular and retina). See if
you can spot either of the above issues in your app. If you can't,
send me screenshots from your tests and we'll work from there.
[1]: When an iPhone app is run on a retina iPad, a 20 point black bar
is overlaid atop the app's window, obscuring any content underneath
it.
[2]: To get started with Auto Layout, you'll want to watch the
Introduction to Auto Layout for iOS and OS X session from WWD 2012
https://developer.apple.com/videos/wwdc/2012/?id=202 followed by the
Auto Layout by Example session from WWDC 2012
https://developer.apple.com/videos/wwdc/2012/?id=232.
In iPad i am using split view controller (one of my existing apps). Using Xcode 6 beta: If I launch the iPad simulator(s) with the device in portrait orientation it only shows the detail view and not the master view as well (and no "master" back button). If I rotate then to landscape all appears fine, rotate back to portrait and the "master"back button appears and can then access the master table view. With previous versions of Xcode the split view launches in portrait view.
I also noticed this, it seems to be a bug in Xcode 6 and iOS Simulator 8. You can send a bug report to Apple here
I had the same issue when running my app on the iOS8 simulator using xCode6-beta2. However, when I ran the app on my iOS7 device, the master view title showed up correctly. Sounds like an iOS8 issue.