从Xcode启动iOS模拟器,黑屏,接着Xcode挂了,无法停止任务

问题:

I'm having trouble running my basic iPhone application (while going through the Stanford iTunes CS193p lectures) in the iOS simulator.我在 iOS 模拟器中运行我的基本 iPhone 应用程序时遇到了问题(同时通过斯坦福 iTunes CS193p 讲座)。

I've been searching for a while (both Google and SO), but unable to find a solution so far.我已经搜索了一段时间(Google 和 SO),但到目前为止找不到解决方案。 There are many similar bugs, but the solutions don't seem to fix this.有许多类似的错误,但解决方案似乎并没有解决这个问题。

In Xcode I click "run".在 Xcode 中,我单击“运行”。 It compiles and builds successfully, launches iOS simulator but it never gets to loading the app.它成功编译和构建,启动 iOS 模拟器,但永远无法加载应用程序。 Only the status bar at the top.只有顶部的状态栏。 With a black screen.带黑屏。

I've only written very basic code (following along with the lectures) and can't get past this problem.我只写了非常基本的代码(跟随讲座)并且无法解决这个问题。

To confuse matters more, I wrote a web wrapper (UIWebView) before these lectures and this works fine.更令人困惑的是,我在这些讲座之前编写了一个 Web 包装器(UIWebView) ,并且效果很好。 But there is barely any difference in the code.但是代码几乎没有任何区别。 All new apps I create from scratch all fail with the same black screen problem.我从头开始创建的所有新应用程序都因相同的黑屏问题而失败。

If I hit the home button on the simulator and launch the app, it will display.如果我点击模拟器上的主页按钮并启动应用程序,它将显示。 But Xcode doesn't seem to know what's going on.但是Xcode似乎不知道发生了什么。

It's as if Xcode has lost the ability to talk to iOS Simulator and assumes it's running (even if I quit iOS simulator).就好像 Xcode 失去了与 iOS 模拟器对话的能力,并假设它正在运行(即使我退出了 iOS 模拟器)。 I try and quit Xcode, and it asks me to stop the tasks.我尝试退出 Xcode,它要求我停止任务。 Then it just hangs.然后它就挂了。 So I have to force restart to get out of Xcode.所以我必须强制重启才能退出 Xcode。

I'm using: OSX 10.8.2 Xcode 4.5.2 iOS Simulator 6.0我正在使用:OSX 10.8.2 Xcode 4.5.2 iOS 模拟器 6.0

CalculatorAppDelegate.h CalculatorAppDelegate.h

#import <UIKit/UIKit.h>

@interface CalculatorAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end

CalculatorAppDelegate.m CalculatorAppDelegate.m

#import "CalculatorAppDelegate.h"

@implementation CalculatorAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end

CalculatorViewController.h CalculatorViewController.h

#import <UIKit/UIKit.h>

@interface CalculatorViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *display;

@end

CalculatorViewController.m CalculatorViewController.m

#import "CalculatorViewController.h"

@implementation CalculatorViewController

@synthesize display = _display;

- (IBAction)digitPressed:(UIButton *)sender
{
    NSString *digit = [sender currentTitle];
NSLog(@"digit pressed = %@", digit);
}

@end

解决方案:

参考: https://stackoom.com/en/question/zXvp
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章