我正在从头开始创建一个新的Xcode项目。但是当我运行项目时,我总是看到来自另一个项目的视图控制器/场景(同名)。尽管storyboard(现在是ipad storyboard,但我还没有制作iphone版本)看起来像一个新场景,但当我在模拟器上运行应用程序时,我看到的是旧应用程序中的场景。
我没有复制旧文件。相反,我从头开始(重新)创建了一个测试ipad故事板,并且只将最基本文件中的文本复制到新文件中。除了MainStoryBoard_iPhone.storyboard
和MainStoryBoard_iPad.storyboard
,我在新项目中唯一的文件是AppDelegate.h/m
和ViewController.h/m
。
这个问题与有一个同名的旧项目有关。我已经决定这个名字就是我想要的。我可以用不同的名称命名新项目,然后在修复此问题后重新命名它吗?或者我能做什么,除了擦除我已经创建的所有文件(因为它们里面有好东西)。
这个application:
方法有点复杂,所以我复制它,以防万一有与它相关的问题。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
BDViewController *vc = [sb instantiateInitialViewController];
self.viewController = (id)vc;
} else {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
BDViewController *vc = [sb instantiateInitialViewController];
self.viewController = (id)vc;
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
问题出在bundle标识符上。应用程序神庙会自动从应用程序名称生成它,但您可以在Info.plist中更改它。
如果这是一个新的应用程序,旧的自己在商店中存在,你不能使用相同的bundle id或应用程序名称。
如果这是一个从未发布到商店的旧应用的新版本,那么只需重置模拟器(菜单"iOS模拟器"->"重置内容和设置")。
如果这是已发布的新版本,则需要更新版本号