问题 如何使用fastlane为模拟器创建app文件


我需要使用fastlane .app文件(或.ipa文件,如果它工作)创建,我可以下一步拖放到另一台计算机上的模拟器。我尝试用健身房或xcodebuild参数做,但我不知道该怎么做。

现在我这样做:

  • 在XCode中,我为模拟器构建应用程序

  • 接下来我在DerivedData中搜索app文件(〜/ Library / Developer / XCode / DerivedData / Build / Products / Debug-iphonesimulator /)

  • 我把这个文件复制到其他地方

但我需要用fastlane来做。


11961
2018-02-01 13:20


起源

你为什么需要它?你不能简单地在另一台计算机上构建应用程序吗? - Losiowaty
不。客户住在其他国家,我也不能给他源代码。我分享他的模拟器应用程序文件,他在模拟器上测试,然后我发送应用程序到应用程序商店。它工作得很好,但我需要自动化这个过程。 - Piotr Wasilewicz
他为什么要在模拟器上测试?他在真实设备上测试会不会更好?然后你可以使用TestFlight / Fabric / Bitrise /其他服务来实现这一点。 - Losiowaty
因为他想在模拟器上进行测试。我的客户是我的老板。也许他没有iPhone或者也许只是他的幻想。事实上......这不是我的事。 :) - Piotr Wasilewicz
有人回答这个问题,所以我可以奖励赏金! - Sethmr


答案:


你可以找到 fastline repo的问题,你可以用健身房做,但也许,如果你使用它会更好 xcodebuild (例):

xcodebuild -configuration Debug -target targetname -arch i386 -sdk iphonesimulator10.3

比搜索 ~/Library/Developer/Xcode/Archives/<date> (或您指定的地方 -archivePath)内部将是 xcarchive

  1. 导航到查找程序中的.xcarchive文件
  2. 右键单击.xcarchive文件,然后选择“显示包 内容“在弹出菜单中
  3. 查找器将切换到显示.xcarchive的内容 文件。
  4. 导航到产品/应用程序
  5. 您的.app将位于产品/应用程序中

这里


这是答案那会对你有所帮助。


更新: 如果您需要从命令行获取应用程序文件,您可以执行以下操作:

mv /YourXCArchiveLocation/archive.xcarchive/Products/Applications/AppName.app /YourDesiredLocation/AppName.app

5
2018-06-12 18:23



它类似于使用XCode构建应用程序。我想在fastlane脚本中添加构建app文件。我也试过用健身房做但我遇到了问题: github.com/fastlane/fastlane/issues/8081。我不知道怎么做健身房。 - Piotr Wasilewicz
@PiotrWasilewicz fastline使用Ruby,所以尝试实现 exec 要么 system 跑步 xcodebuild联编。 - Samuel Tulach
这不是那么容易(我不知道Ruby)但也许你是对的...使用-archivePath我可以指定任何路径(在〜/ Library之外)? - Piotr Wasilewicz
我添加了-archivePath以及应该创建app文件的路径,但它仍然在〜/ ​​Library文件夹中构建。 - Piotr Wasilewicz
@PiotrWasilewicz你确定,你做得对吗? stackoverflow.com/questions/8722633/... - Samuel Tulach


这是我使用的车道:

lane :generate_test_app do
    xcbuild(
        workspace: "MyApp.xcworkspace",
        scheme: "MyApp",
        configuration: "Debug",
        xcargs: "-sdk iphonesimulator SYMROOT='/var/tmp/'"
    )
end

它将离开应用程序 /var/tmp/Debug-iphonesimulator/MyApp.app

也可以看看: 如何从命令行构建我的项目?


5
2018-04-18 13:55





我用 fastlane 在我的日常生活中。

这很简单。安装 fastlane 并确保在执行任何其他操作之前更新到最新版本。

首先,你必须运行 fastlane init 在你的应用程序的文件夹中。

然后,您必须确保在目标的构建设置中,您拥有正确的配置文件和证书(例如,AdHoc或AppStore用于发布)。

然后,您只需在项目的文件夹中运行此命令:

gym —workspace "WORKSPACE_NAME.xcworkspace" —scheme "SCHEME_NAME" -n "IPA_FILE_NAME"

对于模拟器构建,您可以使用 export_options "./ExportOptions.plist" 具有专用导出选项的参数 .plist 文件或专用内部 Gymfile 喜欢这个:

export_options( method: "ad-hoc", manifest: { appURL: "https://example.com/My App.ipa", }, thinning: "<thin-for-all-variants>" )

它使用相同的参数 xcodebuild 是的,所以你应该没事。例如,你可以通过 -archivePath 和 -exportArchive 选项,如果您需要存档而不是 .ipa 文件。


0
2018-06-13 14:36



我不需要ipa文件 - Piotr Wasilewicz
@PiotrWasilewicz它也会在Xcode中生成一个存档,但我没有尝试直接搞乱存档​​。我已经更新了我的帖子,看到了新版本。 - Sergey Grischyov
xcodebuild -configuration Debug -target targetname -scheme schemename -arch i386 -sdk iphonesimulator10.3 给我app文件,但在错误的位置。为什么需要我存档? - Piotr Wasilewicz
@PiotrWasilewicz export_options 接受所有相同的论点 xcodebuild, 包括但不仅限于 -archivePath 和 -exportPath - Sergey Grischyov
好的,所以如何获得 app 文件最简单的方法?你有快速文件的例子吗? - Piotr Wasilewicz