新项目使用旧项目的故事板



我正在从头开始创建一个新的Xcode项目。但是当我运行项目时,我总是看到来自另一个项目的视图控制器/场景(同名)。尽管storyboard(现在是ipad storyboard,但我还没有制作iphone版本)看起来像一个新场景,但当我在模拟器上运行应用程序时,我看到的是旧应用程序中的场景。

我没有复制旧文件。相反,我从头开始(重新)创建了一个测试ipad故事板,并且只将最基本文件中的文本复制到新文件中。除了MainStoryBoard_iPhone.storyboardMainStoryBoard_iPad.storyboard,我在新项目中唯一的文件是AppDelegate.h/mViewController.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模拟器"->"重置内容和设置")。

如果这是已发布的新版本,则需要更新版本号

最新更新