如何在codemagic中创建podfile?
Posted
技术标签:
【中文标题】如何在codemagic中创建podfile?【英文标题】:How to create podfile in codemagic? 【发布时间】:2021-02-19 14:50:10 【问题描述】:我正在尝试使用 Codemagic 在 Windows 中构建 ios Flutter 应用程序。我在android studio中创建了flutter项目并将其上传到github以便在Codemagic中使用它......但是当我尝试构建iOS应用程序时,Codemagic向我抛出了这个错误:
Warning: Building for device with codesigning disabled. You will have to manually codesign before deploying to device.
Building com.jmmago.saltApp for device (ios-release)...
Running pod install... 16.0s
Running Xcode build...
Xcode build done. 124.3s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/barcode_scan-3.0.1/ios/Classes/protos/protos.pb.swift:14:8: error: compiling for iOS 8.0, but module 'SwiftProtobuf' has a minimum deployment target of iOS 9.0: /Users/builder/clone/build/ios/Release-iphoneos/SwiftProtobuf/SwiftProtobuf.framework/Modules/SwiftProtobuf.swiftmodule/armv7-apple-ios.swiftmodule
import SwiftProtobuf
^
Command CompileSwift failed with a nonzero exit code
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'barcode_scan' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'sqflite' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'shared_preferences' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'path_provider' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'image_picker' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'MTBBarcodeScanner' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'FMDB' from project 'Pods')
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.1.99. (in target 'Flutter' from project 'Pods')
════════════════════════════════════════════════════════════════════════════════
Building a deployable iOS app requires a selected Development Team with a
Provisioning Profile. Please ensure that a Development Team is selected by:
1- Open the Flutter project's Xcode target with
open ios/Runner.xcworkspace
2- Select the 'Runner' project in the navigator then the 'Runner' target
in the project settings
3- Make sure a 'Development Team' is selected.
- For Xcode 10, look under General > Signing > Team.
- For Xcode 11 and newer, look under Signing & Capabilities > Team.
You may need to:
- Log in with your Apple ID in Xcode first
- Ensure you have a valid unique Bundle ID
- Register your device with your Apple Developer Account
- Let Xcode automatically provision a profile for your app
4- Build or run your project again
For more information, please visit:
https://flutter.dev/setup/#deploy-to-ios-devices
Or run on an iOS simulator without code signing
════════════════════════════════════════════════════════════════════════════════
Encountered error while building for device.
Build failed :|
Failed to build for iOS
在question 中,他们解决了创建 podfile 的相同问题。但是我如何创建一个 Podfile? 我必须在我的项目中创建它,然后将它推送到 github?或者有办法在 Codemagic 中创建它?
【问题讨论】:
【参考方案1】:我特别选择了 beta 作为 Flutter 通道并且运行良好,但还没有在真机上尝试过该应用。
【讨论】:
【参考方案2】:我认为在 VSCODE 中打开您的项目并在所有 3 个位置将“IPHONEOS_DEPLOYMENT_TARGET”更改为 9.0 可能就足够了。此外检查您的 AppFrameworkInfo.plist 文件并将 MinimumiOSVersion 设置为 9.0。
但是,如果您希望通过 Codemagic 创建一个 podfile,那么您可以尝试将其放入您的预构建脚本中以供首次运行(稍后将其删除):
cd ios && pod init && git add . && git commit -m "添加 Podfile 到项目" && git push
【讨论】:
“IPHONEOS_DEPLOYMENT_TARGET”和“MinimumiOSVersion”默认设置为9.0,这不是问题。试了这条线,得到了这个error。然后,当我添加git config --global user.name "My Name"
git config --global user.email my@email.com
时,出现此错误:remote: Permission to obedi123/salt-app.git denied to greenhouseci-team.
fatal: unable to access 'https://github.com/myuser/myproject.git/': The requested URL returned error: 403
有什么建议吗?
当然,似乎确实存在一些访问问题,我认为最好的解决方案是使用“推送访问”将 Codemagic 部署密钥添加到您的存储库。将公钥添加到您的存储库“部署密钥”中,并将加密的密钥添加到 UI 或 .yaml 中的环境变量中。例如,将名称设置为 ACCESS_SSH_KEY - 确保它以 _SSH_KEY 结尾,这样 Codemagic 会自动将其添加到您的密钥中。然后使用以下命令更改远程: git remote set-url origin 以上是关于如何在codemagic中创建podfile?的主要内容,如果未能解决你的问题,请参考以下文章