What am I missing with my pod install? Xcode Build fails Azure Devops Pipeline - xcode

I am using an Azure Devops Build pipeline to build my Xcode workspace. It builds fine locally as well as if I import the repo and use it in AppCenter to build.
But I want to use an external Git, thus using a Build Pipeline.
It is pretty simple in terms of steps.
1 - Get Repo (finishes this step)
2 - Pod Install (finishes this step)
3 - Install Cert/Provision Profile (finishes this step)
4 - Build
Here is the yaml for pod
steps: task: CocoaPods#0 displayName: 'pod install'
And result from the task:
Pod installation complete! There are 9 dependencies from the Podfile and 9 total pods installed.
AND HERE IS THE ERROR
▸ Running script '[CP] Check Pods Manifest.lock'
❌ /Users/vsts/agent/2.149.1/work/1/s/MyDemo/Extension Files/SortedArray.swift:10:8: no such module 'Starscream'
import Starscream
^
** BUILD FAILED **
The following build commands failed:
CompileSwift normal arm64
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(2 failures)
[error]Error: /usr/bin/xcodebuild failed with return code: 65
I have looked through the docs and I can't figure out what is going on. I've messed with the settings to no avail.
Using Xcode 10 to build.
Thanks

This error is due to the Xcode task not working out of the workspace path.
Update the xcWorkspacePath variable in your azure-pipelines.yml file from **/*.xcodeproj/project.xcworkspace to yourProjectName.xcworkspace.
- task: Xcode#5
inputs:
xcWorkspacePath: 'yourProjectName.xcworkspace'

Related

Github Actions workflow throwing this error 'Could not resolve package dependencies Package.swift manifest for version 1.4.2'

I have a github-action configuration setup for an iOS App, with the following declaration in my CI.yml file:
name: BuildAndTestCI
on:
pull_request:
branches: [master]
jobs:
build-and-test:
runs-on: macos-latest
steps:
- uses: actions/checkout#v2
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_11.3.app
- name: Build and Test
run: xcodebuild clean build test -project sample/sample.xcodeproj -scheme "sample" -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Pro (12.9-inch) (5th generation)" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO
But the workflow run and stop with the following error:
xcodebuild: error: Could not resolve package dependencies:
https://github.com/Juanpe/SkeletonView.git has no Package.swift manifest for version 1.4.2
The possible solutions that I've tried are:
Reset package caches
Upgrade the affected packages 'SkeletonView'
Perform a global search where 1.4.2 appears (no-where)
Build and Clean the project multiple times
Also my concerns are:
There is no package that has the version number 1.4.2 and yet the Github-Action Workflow still throws the said error every time a build process is triggered via commit.
There is absolutely no way to do a proper debugging, and I feel like I'm stuck
Below is the full logs of the Github-Action Workflow:
**Set up a job**
Current runner version: '2.284.0'
Operating System
Virtual Environment
Virtual Environment Provisioner
GITHUB_TOKEN Permissions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout#v2' (SHA:ec3a7ce113134d7a93b817d10a8272cb61118579)
**Run actions/checkout#v2**
Run actions/checkout#v2
Syncing repository: repository/sample-ios
Getting Git version info
Deleting the contents of '/Users/runner/work/sample-ios/sample-ios'
Initializing the repository
Disabling automatic garbage collection
Setting up auth
Fetching the repository
Determining the checkout info
Checking out the ref
/usr/local/bin/git log -1 --format='%H'
'9ebab3de7d5294064240e266cb4070a52e08c672'
**Select Xcode**
Run sudo xcode-select -switch /Applications/Xcode_11.3.app
**Build and test**
Run xcodebuild clean build test -project sample/sample.xcodeproj -scheme "sample" -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Pro (12.9-inch) (5th generation)" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO
Build settings from command line:
CODE_SIGNING_REQUIRED = NO
ONLY_ACTIVE_ARCH = NO
SDKROOT = iphonesimulator13.2
Resolve Package Graph
Fetching https://github.com/Juanpe/SkeletonView.git
Fetching https://github.com/apollographql/apollo-ios.git
Fetching https://github.com/firebase/firebase-ios-sdk.git
Fetching https://github.com/getsentry/sentry-cocoa
Fetching https://github.com/intercom/intercom-ios
xcodebuild: error: Could not resolve package dependencies:
https://github.com/Juanpe/SkeletonView.git has no Package.swift manifest for version 1.4.2
Error: Process completed with exit code 74.

React native build failed - xcodebuild: error: The workspace named "foo" does not contain a scheme named "foo"

I have a react native app that when Run from XCode it works as expected (builds and runs on a simulator). But when I try run it from my terminal with
npx react-native run-ios
I get the error:
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening foo.xcworkspace.
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace foo.xcworkspace -configuration Debug -scheme foo -destination id=FEB37
User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES
xcodebuild: error: The workspace named "foo" does not contain a scheme named "foo". The "-list" option can be used to find the names of the schemes in the workspace.
It might have something to do with my schemes here
When I manage my schemes in XCode I do NOT see scheme 'foo'. It is a generic app so it uses scheme 'bar' which is in the XCode manage gui.
I've also tried
npx react-native run-ios --configuration Debug --scheme Development
and get a very large logout with it ending in:
** BUILD FAILED **
The following build commands failed:
MergeSwiftModule normal x86_64
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
If I downgrade XCode from 12.5 to 12.0.1 it works as expected. But I would like to use the latest XCode.
If I run react-native info
info Fetching system and libraries information...
(node:11609) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
System:
OS: macOS 11.4
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU # 2.30GHz
Memory: 905.50 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.11 - ~/.nvm/versions/node/v14.16.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 28, 29, 30
Build Tools: 29.0.2, 30.0.3, 31.0.0
System Images: android-28 | Google Play Intel x86 Atom, android-29 | Intel x86 Atom_64, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.2 AI-202.7660.26.42.7351085
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: 15.0.2 - /usr/bin/javac
npmPackages:
#react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.64.0 => 0.64.0
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
I've tried restarting my mac...
Do I have to wait for dependencies to be updated?
Here is the Podfile
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/#react-native-community/cli-platform-ios/native_modules'
platform :ios, '10.0'
target 'vicinity' do
config = use_native_modules!
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => false
)
end
post_install do |installer|
react_native_post_install(installer)
end
I have also tried to clean and rerun the start script.
Any help in getting this to build in terminal would be great.
Here is the last bit of the build failure logs:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -merge-modules -emit-module /Users/grant/Library/Developer/Xcode/Derivtes.noindex/Pods.build/Debug-iphonesimulator/lottie-react-native.build/Objects-normal/x86_64/lottie_react_native.swiftmodule
<unknown>:0: error: fatal error encountered while reading from module 'lottie_react_native'; please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project
<unknown>:0: note: module 'lottie_react_native' full misc version is '5.4(5.4)/Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)'
*** DESERIALIZATION FAILURE (please include this section in any bug report) ***
could not deserialize type for 'ContainerView': top-level value not found
Cross-reference to module 'lottie_react_native'
... RCTView
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project and the crash backtrace.
Stack dump:
0. Program arguments: /Applications/Xcode.app/Contents/Devel...ld/Debug-iphonesimulator/lottie-react-native.build/Objects-normal/x86_64/lottie_react_native.swiftmodule
1. Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
2. While evaluating request ASTLoweringRequest(Lowering AST to SIL for module lottie_react_native)
0 swift-frontend 0x000000010c7e5e85 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1 swift-frontend 0x000000010c7e4e78 llvm::sys::RunSignalHandlers() + 248
2 swift-frontend 0x000000010c7e6446 SignalHandler(int) + 262
3 libsystem_platform.dylib 0x00007fff2066ed7d _sigtramp + 29
4 libdyld.dylib 0x00007fff20643d08 _dyld_fast_stub_entry(void*, long) + 65
5 libsystem_c.dylib 0x00007fff2057e411 abort + 120
6 swift-frontend 0x0000000108554384 swift::ModuleFileSharedCore::fatal(llvm::Error) + 100
7 swift-frontend 0x00000001084d9b48 swift::ModuleFile::fatal(llvm::Error) + 2600
8 swift-frontend 0x000000010853d824 swift::SILDeserializer::readVTable(llvm::PointerEmbeddedInt<unsigned int, 31>) + 2532
9 swift-frontend 0x00000001085c21cb swift::SILDeserializer::getAll(bool) + 107
10 swift-frontend 0x0000000107ea2393 swift::ASTLoweringRequest::evaluate(swift::Evaluator&, swift::ASTLoweringDescriptor) const + 10899
11 swift-frontend 0x0000000107fae50d swift::SimpleRequest<swift::ASTLoweringRequest, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> > (swift::ASTLoweringDescriptor), (swift::RequestFlags)9>::evaluateRequest(swift::ASTLoweringRequest const&, swift::Evaluator&) + 205
12 swift-frontend 0x0000000107ea64ac llvm::Expected<swift::ASTLoweringRequest::OutputType> swift::Evaluator::getResultUncached<swift::ASTLoweringRequest>(swift::ASTLoweringRequest const&) + 780
13 swift-frontend 0x0000000107ea2d3f swift::performASTLowering(swift::ModuleDecl*, swift::Lowering::TypeConverter&, swift::SILOptions const&) + 143
14 swift-frontend 0x0000000107a0602e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7150
15 swift-frontend 0x0000000107987e82 main + 1266
16 libdyld.dylib 0x00007fff20644f5d start + 1
17 libdyld.dylib 0x0000000000000087 start + 18446603339972718891
=== BUILD TARGET react-native-splash-screen OF PROJECT Pods WITH CONFIGURATION Debug ===
Check dependencies
CompileC /Users/grant/Library/Developer/Xcode/Derive...t-native-splash-screen/react-native-splash-screen-dummy.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/grant/repos/foo/foo-centres-app/packages/app/ios/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/De...dk/tools:/Users/grant/Library/Android/sdk/tools/bin:/Users/grant/Library/Android/sdk/platform-tools"
/Applications/Xcode.app/Contents/Developer/Toolc...ld/Debug-iphonesimulator/react-native-splash-screen.build/Objects-normal/x86_64/react-native-splash-screen-dummy.o
CompileC /Users/grant/Library/Developer/Xcode/Derived...app/node_modules/react-native-splash-screen/ios/RNSplashScreen.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/grant/repos/foo/foo-centres-app/packages/app/ios/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/D...y/Android/sdk/tools/bin:/Users/grant/Library/Android/sdk/platform-tools"
/Applications/Xcode.app/Contents/Developer/...uild/Debug-iphonesimulator/react-native-splash-screen.build/Objects-normal/x86_64/RNSplashScreen.o
** BUILD FAILED **
The following build commands failed:
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
MergeSwiftModule normal x86_64 /Users/grant/Library/Developer/Xcode/DerivedData/foo-...or/lottie-react-native.build/Objects-normal/x86_64/lottie_react_native.swiftmodule
(2 failures)
info Run CLI with --verbose flag for more details.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! #foo/foo-centres-app-app#3.0.3 start: `scripts/start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the #foo/foo-centres-app-app#3.0.3 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
➜ ~/repos/foo/foo-centres-app/packages/app git:(update-release-app-v2) ✗
The output of xcodebuild -list
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -list
User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES
Information about project "foo":
Targets:
foo
Build Configurations:
Debug
Release
Emp
Chad
Test
PreProduction
Master
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
Chad
Development
Emp
Master
PreProduction
Release
Test
I suspect something else..
please check beyond the schema such as accessibility/permission. Since there are more than one reasons this can happen, I recommend verifying all below.
// a very helpful debug
xcodebuild -list
Basic Debug xcodebuild -list; once they are configured correctly, shared they will successfully should up as shared for you.
      
Default configuration of Schemes is private you have to configure/make it shared
In the terminal/command-line build, the Xcode UI never runs and the xcoderun tool doesn't have its own cache of Schemes to work with.
Step 1: Make your schema accessible to the command-line build
Make your schema accessible to the command-line build by changing it to a shared scheme.
Menu > Product > Scheme > Manage Schemes
Verify/Check off the 'Shared' box for that scheme
Select Schema you want to create and click on the Edit button
Uncheck and Checkoff just to be sure the "Shared" checkbox.
Now go to WorkspaceName.xcworkspace/xcshareddata/xcschemes
Now verify a new .xcscheme file has been created in your project at
WorkspaceName.xcworkspace/xcshareddata/xcschemes.
Please remember to commit this file to your repository, so that your CI builds will also work
Verify again, since the folder names are case sensitive
From your build or release configuration path
      
      
Step 2: Do you have cocoapods - yes/no
NO, If your project is NOT using cocoapods , then you should delete the .xcworkspace file from ./ios directory.
yes, or if you are using a workspace (e.g. with pods), debug/verify like so, here..
// a very helpful debug
xcodebuild -workspace MyProject.xcworkspace -list
Another question on SO, with different approach
Step 3:
If you previously created the folder from step 1, or for some reason renamed/edited project, then go in an update the names manually
Open Foo as a directory in finder.
Open the folder xcshareddata/xcschemes
Rename the xcscheme files there
Can you make sure you're using the right version of Xcode, by running xed --version. There might be a mismatch with the Xcode version that React Native is using (not that this should cause a problem by itself)? You can change it with xcode-select.
Can you try upgrade lottie-react-native to 4.0.2, using npm i lottie-react-native#4.0.2, you're using 3.5.0.
Can you try upgrade lottie-ios to 3.2.3, using npm i lottie-ios#3.2.3
Then make sure you run cd ios and pod install
If you get linker warnings, follow this
If you get desperate, you can delete the ios folder and regenerate it by running by creating a new project with the same name, and copying the iOS folder into your existing project. Or you can just compare the 2 projects/ schemes, and see what you're missing.
Good luck 🙂
Looking at this output from xcodebuild -list
Information about project "foo":
Targets:
foo
Build Configurations:
Debug
Release
Emp
Chad
Test
PreProduction
Master
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
Chad
Development
Emp
Master
PreProduction
Release
Test
And this error from npx react-native run-ios -
xcodebuild: error:
The workspace named "foo" does not contain a scheme named "foo".
The "-list" option can be used to find the names of the schemes in the workspace.
The error says that - the target foo (listed under Targets: in the output) should have a corresponding scheme called foo (that should have been listed under Schemes: in the output) which it can't find while using npx react-native run-ios.
As you say, you are able to run this from Xcode successfully, you should note which scheme are you running. You can find it on the top left corner - right next to play / stop buttons. Adventure iOS in the below screenshot is the scheme.
Note down it's name (case sensitive), make sure it's listed under Schemes: in the above output, if it's not - make sure it's shared (Edit Scheme > Check the Shared Checkbox).
After that you can run using command line using that scheme name like following - say you are successfully running "Chad" scheme from Xcode, run that using command line like this.
npx react-native run-ios --scheme "Chad"

Nativescript ios build fails with Error 65

I've run into an issue where suddenly my ios build will no longer build. It seems to have happened out of no-where.
I get this error and can't seem to get rid of it regardless of what I try.
[19-01-15 10:57:43.888] Build failed. Command xcodebuild failed with exit code 65 Error output:
** ARCHIVE FAILED **
I've tried tns platform remove ios
I've updated my plugins.
I also get these cli warnings before it fails:
(CLI) 1) Target 'class2tns' has copy command from ...
and
(CLI) warning: duplicate output file
for a number of files.
My Android version builds ok.
I had the same exit code from Xcode (65) and the warning of duplicate output file.
After along time of research the following steps are required because an update of a nativescript npm package.
rm -Rf platform/ios
rm -Rf node_modules
rm package-lock.json
pod repo update # important to execute this command in the project dir
tns build ios

Xamarin iOS Framework Binding

I am trying to create a binding for the WePay Framework:
https://github.com/wepay/wepay-ios
Following are the steps that I followed.
I installed CocoaPods.
I installed ObjectiveSharpie
I run this command in terminal : $ sharpie pod init ios WePay
And I get this error: Could not install CocoaPod
here is the full error message:
** Setting up CocoaPods master repo ...
(this may take a while the first time)
Setting up CocoaPods master repo
$ /usr/bin/git pull --ff-only
From https://github.com/CocoaPods/Specs
ee36ba4..8c6767d master -> origin/master
Updating ee36ba4..8c6767d
Fast-forward
Specs/BluetoothKit/0.3.0/BluetoothKit.podspec.json | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 Specs/BluetoothKit/0.3.0/BluetoothKit.podspec.json
Setup completed
** Searching for requested CocoaPods ...
** Working directory:
** - Writing Podfile ...
** - Installing CocoaPods ...
** (running pod install --no-integrate --no-repo-update)
[!] Unknown option: --no-integrate
Did you mean: --no-ansi?
Usage:
$ pod install
Downloads all dependencies defined in `Podfile` and creates an Xcode Pods
library project in `./Pods`.
The Xcode project file should be specified in your `Podfile` like this:
project 'path/to/XcodeProject.xcodeproj'
If no project is specified, then a search for an Xcode project will be
made. If more than one Xcode project is found, the command will raise an
error.
This will configure the project to reference the Pods static library, add
a build configuration file, and add a post build script to copy Pod
resources.
Options:
--repo-update Force running `pod repo update` before
install
--project-directory=/project/dir/ The path to the root of the project
directory
--silent Show nothing
--verbose Show more debugging information
--no-ansi Show output without ANSI codes
--help Show help banner of specified command
error: could not install CocoaPod
Well apparently the most recent CocoaPods removed the --no-integrate option that objective sharpie uses. Downgrading cocoapods to 0.39.0 should fix your issue. It worked for us.

pod lib lint fails with bitcode error

I have created custom control for tvOS (https://github.com/Ponf/FPScrollingBanner) and I'm trying to publish it in cocoapods repository. When I'm checking podspec using pod lib lint it fails with next log:
Integrating target `Pods` (`../../../../var/folders/9w/9v94b0_j4l1b_802_my5vlc00000gn/T/CocoaPods/Lint/App.xcodeproj` project)
Adding Build Phase 'Embed Pods Frameworks' to project.
Adding Build Phase 'Copy Pods Resources' to project.
Adding Build Phase 'Check Pods Manifest.lock' to project.
- Running post install hooks
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
Building with xcodebuild.
xcodebuild clean build -workspace App.xcworkspace -scheme App -configuration Release CODE_SIGN_IDENTITY=- -sdk appletvsimulator
Build settings from command line:
CODE_SIGN_IDENTITY = -
SDKROOT = appletvsimulator9.1
=== CLEAN TARGET FPScrollingBanner OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies
target 'FPScrollingBanner' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
** CLEAN FAILED **
The following build commands failed:
Check dependencies
(1 failure)
=== BUILD TARGET FPScrollingBanner OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies
target 'FPScrollingBanner' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
-> FPScrollingBanner (1.0.0)
- ERROR | [tvOS] xcodebuild: Returned an unsuccessful exit code.
Pods workspace available at `/var/folders/9w/9v94b0_j4l1b_802_my5vlc00000gn/T/CocoaPods/Lint/App.xcworkspace` for inspection.
[!] FPScrollingBanner did not pass validation, due to 1 error.
/Users/filipp/projects/CocoaPods/lib/cocoapods/command/lib.rb:181:in `block in run'
/Users/filipp/projects/CocoaPods/lib/cocoapods/command/lib.rb:153:in `each'
/Users/filipp/projects/CocoaPods/lib/cocoapods/command/lib.rb:153:in `run'
/Users/filipp/.rvm/gems/ruby-2.0.0-p643/bundler/gems/CLAide-4ded02e52c34/lib/claide/command.rb:312:in `run'
/Users/filipp/projects/CocoaPods/lib/cocoapods/command.rb:48:in `run'
/Users/filipp/projects/CocoaPods/bin/pod:44:in `<main>'
So as I can see, the problem is target 'FPScrollingBanner' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform. When I'm opening App.workspace with Xcode, it has no bitcode option at all.
Xcode version: 7.2
Cocoapods built from latest master branch with specifying latest CocoaPods Core.
I have fallback to cocoapods version 0.39.0 and bug doesn't reproduced anymore. It looks like something broken in current master branch.
Maybe you can set *.podspec file:
s.xcconfig = {
'ENABLE_BITCODE' => 'NO'
}
in my *.podspec ,add this will set the framework BITCODE disable.

Resources