ibtool fails to compile storyboard in Xcode 7.1 Beta - ios

Having updated from Xcode 7.0 Beta 3 to 7.1 Beta (all intermediate releases including the 7.0 GM had a crash-on-launch bug for my project, which has only been fixed in 7.1 Beta) I can't build my project due to the following error:
CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard
cd /Users/me/Developer/my-app
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode-beta.app/Contents/Developer/usr/bin/..
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module MyApp --output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist --auto-activate-custom-fonts --target-device iphone --minimum-deployment-target 8.0 --output-format human-readable-text --compilation-directory /Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard
/ com.apple.ibtool.errors */
: error: Not enough arguments provided; where is the input document to operate on?
Xcode is configured to use the Xcode 7.1 (7B60) command line tools:
$ xcode-select -p
/Applications/Xcode-beta.app/Contents/Developer
And ibtool appears to be the correct version:
$ ibtool --version
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-/
<plist version="1.0">
<dict>
<key>com.apple.ibtool.version</key>
<dict>
<key>bundle-version</key>
<string>9046</string>
<key>short-bundle-version</key>
<string>7.1</string>
</dict>
</dict>
</plist>
EDIT: Comparing the output from a successful build in Xcode 7.0 Beta 3 (formatted for clarity):
CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard
cd /Users/me/Developer/my-app
export PATH="/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export XCODE_DEVELOPER_USR_PATH="/Applications/Xcode 7.0 Beta/Xcode-beta.app/Contents/Developer/usr/bin/.."
/Applications/Xcode\ 7.0\ Beta/Xcode-beta.app/Contents/Developer/usr/bin/ibtool
--errors
--warnings
--notices
--module MyApp
--output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist
--auto-activate-custom-fonts
--target-device iphone
--minimum-deployment-target 8.0
--output-format human-readable-text
--compilation-directory /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Products/Debug-iphonesimulator/MyApp.app
/Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard
2015-09-17 15:44:06.451 Interface Builder Cocoa Touch Tool[1216:88742] Error creating notification handler for simulator graphics quality override: 1000000
with the unsuccessful one from Xcode 7.1 Beta:
CompileStoryboard MyApp/Resources/Storyboards/Main.storyboard
cd /Users/me/Developer/my-app
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode-beta.app/Contents/Developer/usr/bin/..
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/ibtool
--errors
--warnings
--notices
--module MyApp
--output-partial-info-plist /Users/me/Library/Developer/Xcode/DerivedData/MyApp-bwakexzthboxucdaodqtbbbwgsaz/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Main-SBPartialInfo.plist
--auto-activate-custom-fonts
--target-device iphone
--minimum-deployment-target 8.0
--output-format human-readable-text
--compilation-directory
/Users/me/Developer/my-app/MyApp/Resources/Storyboards/Main.storyboard
/* com.apple.ibtool.errors */
: error: Not enough arguments provided; where is the input document to operate on?
reveals that I seem to be missing a value for the --compilation-directory argument and so the path to the storyboard is being used instead of as the target file for compilation.
Is it possible to inspect/modify this compilation step or is this likely a bug in Xcode?

So thanks to an Apple support staff member, the solution is to move the Main.storyboard file from the Compile Sources build phase to the Copy Bundle Resources phase.

Adding another potential answer for "Error creating notification handler for simulator graphics quality override". I got this error when I added a run script in xcode build phases, and then dragged the script to the sop to make it run pre-build. No idea why this happened, but when I dragged the run script window back down to the bottom it fixed it.

Related

Xcode 11, Error in Vmware When i am adding appicon in project then i am getting this error

I created new project and try to add app icon then i am getting this error. its a simple basic project. Without app icon its working.
ERROR
CompileAssetCatalog /Users/erp/Library/Developer/Xcode/DerivedData/DemoTest-gghfwavjnoyltpgzkiiyjwajblna/Build/Products/Debug-iphoneos/DemoTest.app DemoTest/Preview\ Content/Preview\ Assets.xcassets DemoTest/Assets.xcassets
cd /Users/erp/Desktop/AppleFolder/demotest/DemoTest
export PATH="/Users/erp/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/erp/Downloads/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Users/erp/Downloads/Xcode.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/erp/Library/Developer/Xcode/DerivedData/DemoTest-gghfwavjnoyltpgzkiiyjwajblna/Build/Intermediates.noindex/DemoTest.build/Debug-iphoneos/DemoTest.build/assetcatalog_dependencies --output-partial-info-plist /Users/erp/Library/Developer/Xcode/DerivedData/DemoTest-gghfwavjnoyltpgzkiiyjwajblna/Build/Intermediates.noindex/DemoTest.build/Debug-iphoneos/DemoTest.build/assetcatalog_generated_info.plist --app-icon AppIcon --compress-pngs --enable-on-demand-resources YES --filter-for-device-model iPhone8,1 --filter-for-device-os-version 13.3.1 --sticker-pack-identifier-prefix com.alnaba.demotest.DemoTest.sticker-pack. --development-region en --target-device iphone --minimum-deployment-target 13.0 --platform iphoneos --product-type com.apple.product-type.application --compile /Users/erp/Library/Developer/Xcode/DerivedData/DemoTest-gghfwavjnoyltpgzkiiyjwajblna/Build/Products/Debug-iphoneos/DemoTest.app /Users/erp/Desktop/AppleFolder/demotest/DemoTest/DemoTest/Preview\ Content/Preview\ Assets.xcassets /Users/erp/Desktop/AppleFolder/demotest/DemoTest/DemoTest/Assets.xcassets

Build on Xcode 10.2.1 failing at project for tvOS and iOS

I have a lib that has targets for tvOS and iOS on the same workspace.
When I build for tvOS, it gives me an error saying:
The following build commands failed:
CompileSwift normal arm64
CompileXIB /Users/.../<project_folder>/Pods/Clappr/Sources/Clappr_iOS/Classes/Plugin/Core/MediaControl/Seekbar/Views/SeekbarView.xib
CompileSwift normal arm64
The command Fastlane is using to run the build is:
set -o pipefail && xcodebuild -workspace "<project_name>.xcworkspace" -scheme "<scheme_name>_tvOS" -configuration "Release" -sdk "appletvos" -derivedDataPath "build/tvOS-appletvos" clean build GCC_PREPROCESSOR_DEFINITIONS='${inherited}' BITCODE_GENERATION_MODE=bitcode ENABLE_BITCODE=YES
And when I run it in verbose mode, the part that seems to be showing the error is:
CompileXIB /Users/<project_folder>/Pods/Clappr/Sources/Clappr_iOS/Classes/Plugin/Core/MediaControl/Seekbar/Views/SeekbarView.xib (in target: Clappr-iOS)
cd /Users/<project_folder>/Pods
export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
/Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module Clappr --output-partial-info-plist /Users/<project_folder>/build/tvOS-appletvos/Build/Intermediates.noindex/Pods.build/Release-appletvos/Clappr-iOS.build/SeekbarView-PartialInfo.plist --auto-activate-custom-fonts --target-device tv --minimum-deployment-target 10.0 --output-format human-readable-text --compile /Users/<project_folder>/build/tvOS-appletvos/Build/Products/Release-appletvos/Clappr-iOS/Clappr.framework/SeekbarView.nib /Users/<project_folder>/Pods/Clappr/Sources/Clappr_iOS/Classes/Plugin/Core/MediaControl/Seekbar/Views/SeekbarView.xib
/* com.apple.ibtool.errors */
/Users/<project_folder>/Pods/Clappr/Sources/Clappr_iOS/Classes/Plugin/Core/MediaControl/Seekbar/Views/SeekbarView.xib: error: iOS xibs do not support target device type "tv".
It is selecting a xib that, at the dependency (Clappr), doesn't belong to tvOS target.
Also, when I try to build using the iOS target, it answers me the following:
The following build commands failed:
CompileSwift normal armv7
CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
CompileSwift normal arm64
CompileSwift normal armv7
CompileSwift normal arm64
The fastlane lane used to run the build for tvOS is the following:
private_lane :xc_build do |params|
xcodebuild(
workspace: "ProjectName.xcworkspace",
scheme: params[:scheme],
configuration: 'Release',
sdk: params[:sdk],
derivedDataPath: params[:derivedDataPath],
clean: true,
build: true,
xcargs: params[:xcargs]
)
end
lane :build_tvos do
remove_previous_builds_of(platform: "tvOS")
#It breaks on the following command
xc_build(
scheme: 'ProjectScheme_tvOS',
sdk: 'appletvos',
derivedDataPath: 'build/tvOS-appletvos',
xcargs: "GCC_PREPROCESSOR_DEFINITIONS='${inherited}' BITCODE_GENERATION_MODE=bitcode ENABLE_BITCODE=YES"
)
xc_build(
scheme: 'ProjectScheme_tvOS',
sdk: 'appletvsimulator',
derivedDataPath: 'build/tvOS-appletvsimulator',
xcargs: "GCC_PREPROCESSOR_DEFINITIONS='${inherited}' BITCODE_GENERATION_MODE=bitcode ENABLE_BITCODE=YES"
)
#This uses lipo to build universal frameworks
make_universal_framework(
universal_framework_folder: "Framework/tvOS",
device_framework_folder: "build/tvOS-appletvos/Build/Products/Release-appletvos",
simulator_framework_folder: "build/tvOS-appletvsimulator/Build/Products/Release-appletvsimulator"
)
end
Environment info:
* iOS target has build seating valid architectures with the value arm64 arm64e armv7 armv7s and tvOS has value: arm64
* Fastlane version 2.123.0
* Cocoapods version 1.6.1
* make_universal_framework uses lipo to build
To be completely honest, I don't know why it is failing, although I found a solution.
This answer led me to the right direction: https://github.com/Webtrekk/webtrekk-ios-sdk/issues/55#issuecomment-481720922
I know, my problem has nothing to do with the one written on the GitHub issue, but it gave me an idea to solve it. I went to menu
File -> Project(Workspace) Settings -> Workspace settings -> Build System => 'Legacy Build System'
And it solved the problem!
It seems to be a difference on the build system, but I haven't found documentation confirming it.

Creating Assets.car file through command line for app resigning

My app is white labeled by building a generic app and then resigning the app bundle with new images. Before iOS11 I could achieve this by switching in new images into the bundle and resigning. However now that asset catalogs are required for the app icons I'm having trouble creating the Assets.car file.
Here is what I have tried:
Copying Images.xcassets to a working directory (with a build directory next to it). Images.xcassets contains AppIcons.appiconset and LaunchImage.launchimage.
From the command line
xcrun actool Images.xcassets --compile build --platform iphoneos --minimum-deployment-target 9.0
It seems to run but no file is created.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.actool.compilation-results</key>
<dict>
<key>output-files</key>
<array/>
</dict>
</dict>
</plist>
I hope I'm missing something obvious.
You just need to use the name of your appiconset.
So in this example add:
--app-icon AppIcons --output-partial-info-plist build/partial.plist
Have getting same issues, but after an hour R&D got success with the
below code:
/Applications/Xcode.app/Contents/Developer/usr/bin/actool Assets.xcassets --compile build --platform iphoneos --minimum-deployment-target 9.0 --app-icon AppIcon --output-partial-info-plist myfolder/info.plist
or
/usr/bin/xcrun actool Assets.xcassets --compile build --platform iphoneos --minimum-deployment-target 8.0 --app-icon AppIcon --output-partial-info-plist build/partial.plist
Where you can change platform value and output path {such as myfolder/build is folder name}

Ionic - plugins not being added to ios folder

Starting with a fresh ionic install and then adding plugins, they are not added to the ios folder. I tried ionic prepare which results in add to body class: platform-ios but it does not add the plugins to the ios directory and results in this error:
CompileXIB moodtracker/Resources/DatePicker.xib
cd /Users/tomchambers/projects/moodtrackerApp/platforms/ios
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/tomchambers/.rvm/gems/ruby-2.1.2/bin:/Users/tomchambers/.rvm/gems/ruby-2.1.2#global/bin:/Users/tomchambers/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Users/tomchambers/.rvm/bin:/usr/local/mongodb/bin"
export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --target-device iphone --target-device ipad --errors --warnings --notices --module moodtracker --minimum-deployment-target 6.0 --output-partial-info-plist /Users/tomchambers/projects/moodtracker/platforms/ios/build/moodtracker.build/Debug-iphonesimulator/moodtracker.build/DatePicker-PartialInfo.plist --auto-activate-custom-fonts --output-format human-readable-text --compile /Users/tomchambers/projects/moodtrackerApp/platforms/ios/build/emulator/moodtracker.app/DatePicker.nib /Users/tomchambers/projects/moodtrackerApp/platforms/ios/moodtracker/Resources/DatePicker.xib
/* com.apple.ibtool.errors */
/Users/tomchambers/projects/moodtrackerApp/platforms/ios/moodtracker/Resources/DatePicker.xib: error: Interface Builder could not open the document DatePicker.xib" because it does not exist.
** BUILD FAILED **
The following build commands failed:
CpResource moodtracker/Resources/CDVNotification.bundle build/emulator/moodtracker.app/CDVNotification.bundle
CompileXIB moodtracker/Resources/DatePicker.xib
(2 failures)
Error: /Users/tomchambers/projects/moodtrackerApp/platforms/ios/cordova/build: Command failed with exit code 65
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:756:16)
at Process.ChildProcess._handle.onexit (child_process.js:823:5)
The only way I've found to make it work is to completely delete the ios build folder and do cordova platform add ios which will readd it with the plugins. This seems very inconvenient.

Phonegap (Cordova) error at CompileXIB

I'm having some problems with CompileXIB at Cordova.
System Information:
OS X Yosemite Beta 10.10
XCode 6 Beta 5
Everytime I try to run cordova build ios the terminal just "freeze" at this part:
CompileXIB ToGo/Classes/MainViewController.xib
cd /Applications/mampstack-5.4.15-0/apache2/htdocs/toGo_app/platforms/ios
export PATH="/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode6-Beta5.app/Contents/Developer/usr/bin:/Users/yeltsin/google-cloud-sdk/bin:/Users/yeltsin/.rvm/gems/ruby-2.1.2/bin:/Users/yeltsin/.rvm/gems/ruby-2.1.2#global/bin:/Users/yeltsin/.rvm/rubies/ruby-2.1.2/bin:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/Users/yeltsin/.rvm/bin:/Developer/android/sdk/platform-tools:/Developer/android/sdk/tools"
export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode6-Beta5.app/Contents/Developer/usr/bin/..
/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --target-device iphone --target-device ipad --errors --warnings --notices --module ToGo --minimum-deployment-target 6.0 --output-partial-info-plist /Applications/mampstack-5.4.15-0/apache2/htdocs/toGo_app/platforms/ios/build/ToGo.build/Debug-iphonesimulator/ToGo.build/MainViewController-PartialInfo.plist --auto-activate-custom-fonts --output-format human-readable-text --compile /Applications/mampstack-5.4.15-0/apache2/htdocs/toGo_app/platforms/ios/build/emulator/ToGo.app/MainViewController.nib /Applications/mampstack-5.4.15-0/apache2/htdocs/toGo_app/platforms/ios/ToGo/Classes/MainViewController.xib
Doesn't shows an error. Just don't proceed. I tried with this project and with another one and both are having the same problems.
How can I fix this? :(
Thanks,
Yeltsin
You want to make sure that you have the non-Beta Xcode installed, otherwise you will continue to get this error.

Resources