我在iOS模拟器中运行基本的iPhone应用程序时遇到困难(在浏览Stanford iTunes CS193p讲座时)。
我已经搜索了一段时间(包括Google和SO),但到目前为止仍找不到解决方案。有许多类似的错误,但是解决方案似乎无法解决此问题。
在Xcode中,我单击“运行”。它可以编译并成功构建,启动iOS模拟器,但始终无法加载该应用程序。仅状态栏在顶部。带黑屏。
我只写了非常基本的代码(跟着讲课),无法解决这个问题。
为了使事情更加混乱,(UIWebView)
在这些讲座之前,我写了一个Web包装程序,效果很好。但是代码几乎没有任何区别。我从头开始创建的所有新应用都因相同的黑屏问题而失败。
如果我按下模拟器上的主屏幕按钮并启动应用程序,它将显示出来。但是Xcode似乎不知道发生了什么。
好像Xcode失去了与iOS Simulator交谈的能力并假定它正在运行(即使我退出了iOS Simulator)。我尝试退出Xcode,它要求我停止任务。然后就挂了。因此,我必须强制重启才能退出Xcode。
我正在使用:OSX 10.8.2 Xcode 4.5.2 iOS Simulator 6.0
CalculatorAppDelegate.h
#import <UIKit/UIKit.h>
@interface CalculatorAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
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
#import <UIKit/UIKit.h>
@interface CalculatorViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *display;
@end
CalculatorViewController.m
#import "CalculatorViewController.h"
@implementation CalculatorViewController
@synthesize display = _display;
- (IBAction)digitPressed:(UIButton *)sender
{
NSString *digit = [sender currentTitle];
NSLog(@"digit pressed = %@", digit);
}
@end