【问题标题】:Creating an iOS Simulator Build of CocoaPods project创建 CocoaPods 项目的 iOS 模拟器构建
【发布时间】:2014-06-22 08:46:45
【问题描述】:

我需要创建一个模拟器版本,以便将我的应用提交给 facebook 团队,以便进一步审查我的开放图。

他们在这里有一个创建指令facebook instruction

但我使用 cocoapods,我无法进行此构建。每次都给我错误。

【问题讨论】:

    标签: ios facebook build ios-simulator cocoapods


    【解决方案1】:

    我在同一条船上,一直在为此苦苦挣扎!

    通过在命令行参数中添加以下内容,我设法让我的构建工作:

    -workspace [Name.xcworkspace] -Scheme [NameOfScheme]
    

    我还必须编辑方案并明确添加 Pods 目标,因为它使用 Library not found for -lPods 构建失败。

    【讨论】:

    • 我不需要手动添加 pods 目标。此外,如果您想知道您的方案名称是什么,它位于左上角的运行/停止按钮和目标选择器之间,并且可能是您的项目的名称。
    【解决方案2】:

    遇到同样的问题,我通过在构建设置中的“有效架构”中添加“i386”来修复@bean 他的错误。 (对于我的应用目标、pod 目标和每个 pod 分别)

    我的完整构建命令是:

    xcodebuild -workspace [projectName].xcworkspace -scheme [schemeName] -arch i386 -sdk=iphonesimulator7.1
    

    我可以完成构建,但收到大量警告:

    warning: no rule to process file '[any .m file]' of type sourcecode.c.objc for architecture i386
    

    我不知道如何解决这个问题,一个 .app 文件不是在 facebook 教程所说的位置上创建的(它在“~/Library/Developer/Xcode/DerivedData/..”而不是“ {projectDir}/build/...")

    现在我还有 2 个问题:

    1.) 我怎样才能测试或这个 .app 文件可以工作(双击它告诉我文件已损坏。)

    2.) (为什么)我可以不只是使用模拟器从 Xcode 中构建应用程序并提交 Xcode 创建的 .app 文件吗?

    【讨论】:

    • 如果添加这些参数,它将构建到 build/Debug-iphonesimulator:OBJROOT=$(PWD)/build SYMROOT=$(PWD)/build.使用 ios-sim 运行:github.com/phonegap/ios-sim
    【解决方案3】:
    xcodebuild -arch i386 -sdk iphonesimulator{version} -workspace [projectName].xcworkspace -scheme [projectName]
    

    按照步骤Click here

    【讨论】:

    • 正是我所需要的。谢谢!
    • 有一点需要注意。这倾向于将构建作为“运行”而不是“存档”运行。因此,如果您将调试设置为“运行”而不是“存档”(这很常见),如果您打算为它们提供发布类型构建,请务必将“运行”切换到发布状态。
    • 对于非终端专家,您的 xcworkspace 文件可能是 2 个目录。只需使用 ../../.xcworkspace 代替。
    • 我应用了这个。它说 Build secceeded!但我找不到构建文件夹。我错过了什么吗?
    • 请查看终端日志并找到构建路径。复制该路径。现在打开“Finder”窗口,Finder 菜单 -> 前往 -> 前往文件夹。粘贴构建路径。
    【解决方案4】:

    Facebook 更新了如何制作模拟器的指南 (link)

    1. 在 Xcode iPhone 5 模拟器中运行您的应用程序。这会自动在 Xcode 的 DerivedData 缓存中创建一个模拟器版本。

    2. 运行:ditto -ck --sequesterRsrc --keepParent ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1 path/to/YourApp.zip 这会自动压缩模拟器版本。

    3. 您可以使用 ios-sim 实用程序 Command-line App Launcher for Simulator 验证模拟器构建。

    4. 提交 YourApp.zip。

    【讨论】:

    • 我必须在哪里运行第二步?感谢您的帮助
    • @user5370095 与已接受答案(您的项目目录)中的链接中描述的位置相同。另外,path/to/YourApp.zip 可以是 ~/Desktop/YourApp.zip
    【解决方案5】:

    像我这样在@Pradip Vanparia 的解决方案中失败的开发人员可以使用:

    xcodebuild -workspace {project name}.xcworkspace -scheme {project name}  -arch i386 -sdk iphonesimulator9.3
    

    我通过以下命令找到了iphonesimulator9.3

    xcodebuild -showsdks
    

    【讨论】:

      【解决方案6】:

      简单到~/Library/Developer/Xcode/DerivedData//Build/Products/-iphonesimulator/XXXX.app复制你XXXX。应用程序从那里复制到桌面..右键单击并选择压缩..您将为您的应用程序创建一个 zip 文件。将其提交给 fB

      【讨论】:

        【解决方案7】:

        这是另一种创建 .zip 文件的简单方法

        • 第一步:打开finder,按command⌘+shift⇧+g
        • 第 2 步:粘贴“~/Library/Developer/Xcode/DerivedData”
        • 第 3 步:选择 your_app_name-jkfksdfhskdhfksdh 类似这样的东西 文件夹
        • 第 4 步:your_app_name-jkfksdfhskdhfksdh >>Build>>Products>>Debug-iphonesimulator

        • 第 5 步:您将看到 2 个文件,一个是 your_app_name.app(图标如圆角和 1 个十字线)和第二个文件 是 your_app_name.app.dSYM

        • 第 6 步:创建 .zip 文件,右键单击 your_app_name.app 并选择“压缩 your_app_name”。它会 生成 .zip 文件并将其提交给 facebook。

        【讨论】:

        • 非常感谢!你救了我几百万次
        • 命令行代码!!您可以从#Tibidabo 发布的上述答案中获得它
        • 我正在尝试这样做,但即使我运行了我的应用程序,DerivedData 文件夹也是空的。如果相关,我正在使用 Expo
        【解决方案8】:

        只是“复制/过去”的方式:

        ditto -ck --sequesterRsrc --keepParent `ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1` MyApp.zip
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-16
          • 2016-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多