首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode中的多个目标:“未能启动模拟应用程序:未知错误。”

Xcode中的多个目标:“未能启动模拟应用程序:未知错误。”
EN

Stack Overflow用户
提问于 2009-04-04 17:28:09
回答 2查看 3.9K关注 0票数 1

我试图在Xcode中构建多个目标,以简化创建应用程序的"lite“和"pro”版本的过程。理论上,这很好,我可以将定义传递给GCC_PREPROCESSOR_DEFINITIONS,以便在我的代码中使用。但是,由于试图在模拟器中启动第二个目标时出错,我在实际工作中遇到了问题:Failed to launch simulated application: Unknown error.

下面是我用来创建附加目标的简单过程:

expected)

  • Select

  • 在源文件中添加#ifdef MYAPP_PRO以修改基于pro/lite版本的应用程序的行为(并从菜单中验证应用程序是以Project > New Target...的形式工作的,并选择"Cocoa应用程序“(命名为”MyAppPro")

  • Edit新目标设置“;添加GCC_PREPROCESSOR_DEFINITIONS用户定义设置并将值设置为"MYAPP_PRO”(无引号))

  • 将活动目标设置为"MyAppPro";构建和run.

  • Failed to launch simulated application: Unknown error.

  • Copy从Info.plist到MyAppPro-Info.plist的所有设置,然后尝试again

  • Failed to launch simulated application: Unknown error.

构建完成得很好,但我无法在模拟器中运行。

在编辑project.pbxproj目录中的.xcodeproj目录时,我注意到两个目标定义的构建设置之间存在一些关键差异。我尝试手动编辑该文件,但肯定做错了什么,因为之后我无法将它加载到Xcode中。

原始目标的“调试”构建设置:

代码语言:javascript
复制
        buildSettings = {
            ALWAYS_SEARCH_USER_PATHS = YES;
            ARCHS = "$(ARCHS_STANDARD_32_BIT)";
            "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
            GCC_C_LANGUAGE_STANDARD = c99;
            GCC_WARN_ABOUT_RETURN_TYPE = YES;
            GCC_WARN_UNUSED_VARIABLE = YES;
            ONLY_ACTIVE_ARCH = YES;
            PREBINDING = NO;
            SDKROOT = iphoneos2.2.1;
        };

新的MyAppPro目标的“调试”构建设置:

代码语言:javascript
复制
        buildSettings = {
            ALWAYS_SEARCH_USER_PATHS = NO;
            CODE_SIGN_IDENTITY = "iPhone Developer";
            COPY_PHASE_STRIP = NO;
            GCC_DYNAMIC_NO_PIC = NO;
            GCC_OPTIMIZATION_LEVEL = 0;
            GCC_PRECOMPILE_PREFIX_HEADER = YES;
            GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/UIKit.framework/Headers/UIKit.h";
            INFOPLIST_FILE = "MyAppPro-Info.plist";
            INSTALL_PATH = "$(HOME)/Applications";
            OTHER_LDFLAGS = (
                "-framework",
                Foundation,
                "-framework",
                UIKit,
            );
            PREBINDING = NO;
            PRODUCT_NAME = MyAppPro;
            SDKROOT = iphoneos2.2.1;
        };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-05 01:07:46

您没有说明是否实际向目标添加了源文件。新目标(与新项目不同)没有源文件模板;您必须自己添加它们。所以模拟器可能会告诉你“你成功地构建了,但是没有什么可运行的。”

票数 5
EN

Stack Overflow用户

发布于 2011-01-21 12:51:53

复制目标。我只是犯了同样的错误,并意识到我做了什么:“新目标”创建的是一个空白的板子(虽然这不是立即显而易见),即使你试图包括的东西,你可能会错过一些东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/717453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档