I'm an experienced iOS developer trying to develop my first Cocoa app for OSX.
When the app hits my breakpoints, the app window is no longer visible. Why not? I see the app icon in the dock, but it doesn't become visible when I click on it.
Is there a way to change this or a workaround? I'd like to see the state of my app as I debug. I'm guessing I'm not the only one.
I'm using Xcode 6 beta 6.
Related
I have a macOS app with a ViewController that renames and resizes the app window, has several buttons, and a WKWebView that loads a default webpage on launch.
The project itself is an .xcworkspace file, since it includes the CocoaPod SwiftSoup for HTML scraping.
The app runs great in the simulator. When it launches, it looks like this:
I want to run this app on my Mac outside of Xcode. I am not planning on releasing it to the App Store, it is just for my personal use.
I archive the project with Products > Archive, then select "Distribute App", then "Copy App" to create a directory with the archived app. This all works great.
When I launch the app, I just get an incorrectly sized blank title-less window, without the buttons or WKWebView from my Storyboard:
The app isn't hanging. I can open the "About" menu item, etc., so I know the app is running. it just doesn't seem to be using my Storyboard to draw the UI.
What would cause an archived app to differ from the app running in the simulator?
The funny thing is that I WAS able to archive this same app back in November under High Sierra, so I'm guessing the issue is either Cocoa Pods and/or Mojave related.
My debugging leads me to suspect either CocoaPods or Mojave related
My debug:
1) While debugging, I restored a version of the project from November. When I archive that restored project, I get the same blank non running app.
2) I AM able to archive another brand new project that doesn't use Cocoa Pods, so my guess is that this is either CocoaPods and/or Mojave related issue...
Any suggestions on how to proceed debugging, or help resolving this would be greatly appreciated!
I am using Xcode 10.2.1 under Mojave 10.14.5.
This problem is caused by WKWebView.
So, you need remove WKWebView from IB and then create it with code and add it to the view.
REFER:
https://forums.developer.apple.com/thread/116047
http://www.openradar.me/23699297
I create an extension for my app in iOS 8 and it is displayed correctly under the Today tab.
However when I make a change to the extension (either a UI change in the Storyboard, a UI change in viewDidLoad code, or some changes in the widgetPerformUpdateWithCompletionHandler method), there's nothing that is changed when I recompile. The only way I can make the changes to appear is to delete the app from the device/simulator then compile/install again. Restarting XCode (I work with XCode 6 beta 4) / restarting the computer does not help.
How can I fix the bug?
How am I supposed to debug the extension, because setting breakpoints does not seem to do anything and no NSLog messages are printed to the console (I suppose, since it's a different target).
It's a known bug, read the release notes for iOS 8b5.
Debugging (and NSLog) works in Xcode but not always (known bugs). You can still attach the debugger if Xcode cannot attach himself (Debug -> Attach to process)
For me, the simulator works better than real device, so use the simulator until things got better.
2 tips:
Close the simulator at end of debugging (i have a script for auto closing the simulator when i press STOP in Xcode, tell me if you want it).
When you launch the plugin process in simulator, wait for "All applications" display list, if you click "Run" before the list are loaded, the debugger won't attach.
Whenever I build and run just this one particular app in XCode, the UI window of XCode gets pushed back underneath all existing running windows on OSX ( behind the browser and textedit etc...). This means I can't see the Xcode console debug outputs while playing with the app in the simulator. I feel like this could just be a quick setting in xcode or osx but I'm not sure why and how to fix this.
Use Spaces and develop with Xcode in its own virtual window. You will have just Xcode and Simulator wrestling for screen space then.
I normally have at least 5 windows open in Spaces:
Mail and Skype.
Web Browser
Xcode
Terminal/Finder/Odds and sods
Spare
Use Ctrl+Left and Ctrl+Right to switch windows.
A few days back I upgraded to Xcode 4.3.2 by downloading from the developer's portal and running the installation files. Since then, I am able to test apps on my devices and am also able to test them on the iOS simulator for iPhone without issues. However, the iPad simulator is not working well. A screenshot is attached.
The home button doesn't appear.
The status bar doesn't appear.
The simulator appears like a window with minimize and maximize icons (only the maximize icon is enabled) and also has a title with the version no.
Can anyone please advise, a screenshot of the simulator is present at the below location.
http://postimage.org/image/68pa1t7l9/
The Skins are missing from the iPad simulator, a solution is using the keyboard shortcuts, Cmd+Shift+H for Home, Cmd+1 / 2 / 3 to resize the window to fit on your screen to avoid scrollbars and such.
The iTunes AppStore auto generates some listings on its published pages. One of them is "Requirements:" and shows the devices that this app is compatible with. iPod, iPhone or iPad etc.
QUESTION: Where is this REQUIREMENTS listing set during the build process?
I have submitted an app that I 'thought' was properly configured because the Xcode settings for iPhone and NOT iPhone/iPad. But apparently this is either broken or I am totally confused as to where this is set and how its created on the AppStore.
Can someone enlighten me?
If you create an app that is iPod/iPhone only, it will still run on an iPad, just not as an iPad native app. That is to say, an iPhone/iPod-only app will run in an iPhone-sized window on an iPad. I do not think that you can say you want your iPhone app NOT to run on iPad.
When you select iPhone/iPad for your app type in Xcode, that is telling Apple and iTunes that your app binary is a universal app -- built for both platforms.
may be it's done by apple reviewers according to this guidelines limitation
App Store Review Guidelines:
2.10
iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
... or else it will be rejected.
What's the problem? When you start a project you get to choose whether its for iPhone or iPad or both. When you submit it to apple this is also checked against your iOS build version and other things (normally though if there's a conflict it'll let you know before submission - eg: if you haven't included the iPad icons and your app says that its for iPad too).
In XCode4 theres a nice handy interface now that you can use. If you select your project in the left hand pane and click on your main target in the main window you can select the iOS application targets that your app is for.
In your Project settings Version, Device and Deployment Target are where the iTunes Requirements come from. If you choose only iPhone, then your requirements will inlcude iPod touch.
I believe this is the answer you are looking for:
http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html