- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个带有 cocoa pod 的项目。
这是我用来构建项目的命令。
/usr/bin/xcodebuild -scheme Jenkins -workspace /Users/Shared/Jenkins/Documents/Jenkins/Jenkins2/Jenkins.xcworkspace -configuration Release clean build CONFIGURATION_BUILD_DIR=/Users/Shared/Jenkins/Documents/JenkinsTestNuu/app 'CODE_SIGN_IDENTITY=iPhone Distribution: XXXX yay (3G5FKTZJ2K)' PRODUCT_BUNDLE_IDENTIFIER=com.XXXX.two PROVISIONING_PROFILE=6e6506e9-8233-4886-9084-ce21e8f8bbae
=== CLEAN TARGET XWebView OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies
Clean.Remove clean /Users/Shared/Jenkins/Documents/JenkinsTestNuu/app/XWebView.framework.dSYM builtin-rm -rf /Users/Shared/Jenkins/Documents/JenkinsTestNuu/app/XWebView.framework.dSYM
Clean.Remove clean /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/appanme-bqjwbjcqisegldeaonpytprisnig/Build/Intermediates/Pods.build/Release-iphoneos/XWebView.build builtin-rm -rf /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/appanme-bqjwbjcqisegldeaonpytprisnig/Build/Intermediates/Pods.build/Release-iphoneos/XWebView.build
Clean.Remove clean /Users/Shared/Jenkins/Documents/JenkinsTestNuu/app/XWebView.framework builtin-rm -rf /Users/Shared/Jenkins/Documents/JenkinsTestNuu/app/XWebView.framework
=== CLEAN TARGET Pods OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies etc...
最佳答案
为什么会发生?
Xcode 打开的项目与 Xcode 迄今为止未打开的同一项目之间的快速 diffMerge 工具分析
由此我们可以看到在 .xcodeproj 中由 Xcode 打开后创建了许多与方案相关的文件
所以 xcodebuild 通过使用与方案相关的元数据创建 .app 但没有针对其失败的构建方案
如何解决这个问题?
由于缺少元数据,它无法构建,因此需要打开 Xcode,以便 Xcode 自动创建文件,因此会有一些构建方案。
但是,当您打开 Xcode 时,会在 xcuserdata 下为特定用户创建此 Scheme 相关文件。即每个用户都有自己的文件,保存打开的状态文件夹,最后打开的文件等...
将这个文件留在我们身边并不是明智之举。
问题可以通过勾选 Manage Schemes 下的 Shared Check 框来解决
这将方案从您的个人 xcuserdata 下移到可以通过源代码管理提交的共享文件夹中,您可以安全地忽略 xcuserdata 并将共享文件夹保留在源代码管理中
现在,即使只打开一次,我们也可以在不打开 Xcode 的情况下构建代码。
品牌
(UI、build设置和功能)
#Author: Durai Amuthan(h.duraiamuthan@gmail.com)
#This is to achieve multiple branding of an iOS app by configuring the variables below
#************ Configuring the brand starts ************
#Directory path where .xcworkspace or .xcodeproj exists
PathOfProjectDirectory=/Users/Shared/Jenkins/Documents/JenkinsTestNuu/New/
#Path where info.plist exists
PathOfInfoPlist=$PathOfProjectDirectory/XxYyZz
#Path to icons where new iTunesArtwork and application icon exixts
#Note: Make sure proper naming conventions of file has been followed
PathOfNewIcons=/Users/Shared/Jenkins/Documents/icons-two
#Path to asset resource where you have kept your application icon.
PathOfAppIconSet=$PathOfProjectDirectory/XxYyZz/Icon.xcassets/AppIcon.appiconset
#Path where do you want the .app file has to be kept
PathToApp=/Users/Shared/Jenkins/Documents/JenkinsTestNuu/app
#Path where do you want the .ipa file has to kept
PathToIpa=/Users/Shared/Jenkins/Documents/JenkinsTestNuu/ipa
#Cocoapods project or project that involves more than one modules are scheme based
isWorkspaceBased=true
#Path of the Project (.xcodeproj) - applicable for workspace(.xcworkspace) based project
PathofProjectFile=$PathOfProjectDirectory/XxYyZz.xcodeproj
#Path of the Workspace (.xcworkspace)
PathofWorkspaceFile=$PathOfProjectDirectory/XxYyZz.xcworkspace
#Name of the target - applicable only for non-workspace(.xcodeproj) based projects
Target=XxYyZz
#Scheme of the iOS app
Scheme=XxYyZz
#To ascertain Cocoapods has been used or not
isCocoaPodsBased=true
#Configuration of the app (Debug -(Development) or Release(Adhoc or Distribution))
Config=Release
#For giving access to signing idetity found in KeyChain
LoginKeychainPath=/Users/Shared/Jenkins/Library/Keychains/login.keychain
LoginKeyChainPassword=xxyyzz
#Name of the code signing identity.You can find the name in Keychain or xcode build setting
CodeSigningIdentity='iPhone Distribution: Xx Yy Zz Limited (3Z5MHUYJ2L)'
#Path of the provisioning profile
PathToMobileProvision=/Users/Shared/Jenkins/Desktop/BrandingTest.mobileprovision
#UUID value found inside Provisioning profile has to be given
#Do not forget to install provisiong profile in the system
ProvisioningProfileIdentity=6e6506e9-8233-4886-9084-zf21e8f8bbae
#Bundle identifier of the app
BundleIdentifier=com.xxyy.zz
#AppVersion of the app
AppVersion=2.2.2
#App Name
Appname=Two
#************ Configuring the brand ends ************
#** Creatting the build based on configuration starts **
cd $PathOfInfoPlist
echo "****************** Setting App Name ******************"
/usr/libexec/PlistBuddy -c "Set :CFBundleName $Appname" info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $Appname" info.plist
echo "app name has been set as $Appname"
cd $PathOfProjectDirectory
echo "****************** Setting AppVersion ******************"
/usr/bin/agvtool new-marketing-AppVersion $AppVersion
/usr/bin/agvtool new-AppVersion -all $AppVersion
echo "****************** Changing app icons & iTunes Artwork ******************"
cp -R $PathOfNewIcons/*.png $PathOfAppIconSet
echo "App icons has been changed at $PathOfNewIcons"
cp -R $PathOfNewIcons/iTunesArtwork@2x $PathOfProjectDirectory/XxYyZz
cp -R $PathOfNewIcons/iTunesArtwork $PathOfProjectDirectory/XxYyZz
echo "iTunesArtwork has been changed at $PathOfProjectDirectory"
#Unlock login keychain
security unlock-keychain -p $LoginKeyChainPassword $LoginKeychainPath
if $isCocoaPodsBased == 'true'
then
echo "****************** Installing Cocoapods **********************"
/usr/local/bin/pod install
echo "Cocoapods has been installed"
fi
echo "****************** Creating .app ******************"
if $isWorkspaceBased == 'true'
then
/usr/bin/xcodebuild -scheme $Scheme -workspace $PathofWorkspaceFile -configuration $Config clean build CONFIGURATION_BUILD_DIR=$PathToApp "CODE_SIGN_IDENTITY=$CodeSigningIdentity" "PRODUCT_BUNDLE_IDENTIFIER=$BundleIdentifier" "PROVISIONING_PROFILE=$ProvisioningProfileIdentity"
else
/usr/bin/xcodebuild -target $Target -project $PathofProjectFile -configuration $Config clean build CONFIGURATION_BUILD_DIR=$PathToApp "CODE_SIGN_IDENTITY=$CodeSigningIdentity" "PRODUCT_BUNDLE_IDENTIFIER=$BundleIdentifier" "PROVISIONING_PROFILE=$ProvisioningProfileIdentity"
fi
echo ".app has been generated at $PathToApp"
echo "****************** Creating .ipa *******************"
/usr/bin/xcrun -sdk iphoneos PackageApplication -v $PathToApp/XxYyZz.app -o $PathToIpa/$Appname.ipa --embed $PathToMobileProvision --sign "$CodeSigningIdentity"
echo "$Appname.ipa has been generated at $PathToIpa"
#** Creatting the build based on configuration ends **
sh Branding.sh
cp
命令例如
cp path/to/source path/to/destination
cp man
func getPlistFile()->Dictionary<String,AnyObject>? {
var dictPlistFile:Dictionary<String,AnyObject>?
if let path = NSBundle.mainBundle().pathForResource("plistfile", ofType: "plist") {
if let dictValue = NSDictionary(contentsOfFile: path) as? Dictionary<String, AnyObject> {
dictPlistFile=dictValue
}
}
return dictPlistFile
}
var Value=getPlistFile()?["Key"]
/usr/libexec/PlistBuddy -c "Set :Key Value" plistfile.plist
#!/bin/sh
# A script to patch xcrun PackageInstallation so that it doesn't use the deprecated --resource-rules
# See "Do not use the --resource-rules flag or ResourceRules.plist. They have been obsoleted and will be rejected."
# under https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205
# Reported as Apple bug #19384243
#
# should be run as a user who can modify the PackageApplication file
xcodedir=$1
function usage {
# FIXME we cannot parse args properly because 2 are optional...
echo "USAGE: $0 xcodedir"
echo " xcodedir: an install dir like /Application/Xcode6.1.1.app"
}
if [[ $# -ne 1 ]]; then
echo "ERROR: invalid number of arguments"
usage
exit -1
fi
pi="$xcodedir/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication"
piorig="$piOrig"
if [[ ! -f "$pi" ]]; then
echo "$pi file not found. Invalid argument ?"
usage
exit -1
fi
grep resource-rules "$pi"
if [[ $? -ne 0 ]]; then
echo "PackageApplication doesn't use resource-rules. Skipping"
exit 0
fi
if [[ -f "$piorig" ]]; then
echo "Backup file $piorig already exist. Aborting"
exit -1
fi
perl -p -i'Orig' -e 'BEGIN{undef $/;} s/,resource-rules(.*sign}).*ResourceRules.plist"/$1/smg' "$pi"
echo $?
关于ios - xcodebuild 不会编译项目,除非它至少使用 Xcode 打开一次,用于 cocoapods 集成项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36318336/
回到 Xcode 9,有一个名为“Clean Build Folder...”(⌥⇧⌘K)的构建选项,它删除了构建文件夹中的所有文件,只留下没有内容的文件夹。从那时起,此行为被删除,菜单项的标题更改为
我正在尝试在 hudson 构建服务器上设置 clang 静态分析器,如果我遵循建议 in this blog post我有以下错误: cc1obj: error: unrecognized comm
我想通过命令行 (xcodebuild) 将命令行参数传递给我的 iOS 测试。我正在 XCode 上寻找与此设置等效的内容: 简单地将参数传递给 xcodebuild 是行不通的,例如: xcode
从今天早上开始,在我的 iMac(macOS High Sierra 版本 10.13.6)上,每当我打开 iTerm2 窗口(安装了 Oh My Zsh)时,我都会看到: 似乎它正在尝试运行 xco
我正在尝试将我的项目集成到 Travis CI 中,但我的构建失败并出现以下错误: 架构 i386 的 undefined symbol 和架构 x86_64 的 undefined symbol 我
我看到了this教程,我想知道使用 Make 设置目标进行构建和测试与使用 sh 脚本或事件单独的 Jenkin 作业进行构建和测试相比有什么优势?一般来说,我对 CI 和脚本编写很陌生,如果这是一个
我在任何地方都看不到这个文档——有没有想过我们如何使用 xcodebuild 为 Mac 的 UIKIt 构建项目(即 Catalyst)? 您可以指定“-sdk iphoneos”与“-sdk ip
我遇到了一个问题,即使用 XCode-GUI 存档操作构建的文件和使用命令行构建(xcodebuild 命令)创建的文件之间的 iOS 应用程序文件 (IPA) 的大小不同。尺寸很重要,因为我们从 A
我正在尝试使用以下设置运行 appium 脚本: Appium version : 1.6.4 Xcode : 8.3.2 Mac : 10.12.4 iPhone : 10.3.1 下面是我用来在
我正在尝试使用 Xcode 在 iPhone 6 模拟器上运行亚马逊应用。 应用正在 iPhone 模拟器中安装,但无法与其元素交互。 Appium 版本 - 1.7.2 Xcode 版本 9.2 平
我正在尝试在 iPhone 5S 真实设备上使用 Appium 启动 iOS 应用程序。这是我的设置 Appium version : Version 1.10.0 (1.10.0.20181230.
当我尝试使用 appium 桌面启动 session 时出现以下错误: 处理命令时发生未知的服务器端错误。原始错误:由于 xcodebuild 失败而无法启动 WebDriverAgent:“xcod
当我尝试使用 appium 桌面启动 session 时出现以下错误: 处理命令时发生未知的服务器端错误。原始错误:由于 xcodebuild 失败而无法启动 WebDriverAgent:“xcod
以下命令卡在我的 osx 上: xcodebuild -scheme myscheme clean archive -archivePath /tmp 此命令产生两个输出行,然后挂起: User d
我在持续集成服务器上的 bash 脚本中使用 xcodebuild。 我想知道脚本中的构建何时失败,因此我可以提前退出并将构建标记为失败。 xcodebuild 向控制台显示 BUILD FAILED
通常我使用 Xcode 使用企业构建来构建 ipa 文件: 这些使用 xcodebuild 的等效项是什么? 如何设置“exportOptions.plist”,尤其是关键标签? 最佳答案 我假设您使
xcodebuild 项目,我可以打开 Xcode UI 并构建项目。它也很好地对代码进行了签名。 与我尝试使用命令行工具 xcodebuild 构建相同。它给出了“代码证书错误” 这是使流程自动化所
无论如何要指定 xcodebuild 的输出文件(即 .app)放在哪里?默认情况下,它位于: /Users/myusername/Library/Developer/Xcode/DerivedDat
我有一个项目,需要生成两个可执行文件,一个是 64 位 (x64_86),另一个是 32 位 (i386);它们不能合并。 该项目包括链接到第三方框架。 在 XCode 中编译没有问题。 单独使用 x
我有一个古玩问题。 我有一个项目,我一直在使用 XCode IDE 构建它,并且它运行良好。现在我正在设置 Bamboo 来构建项目,因此我正在从命令行构建它。 问题是,如果我从 GIT 中检查我的代
我是一名优秀的程序员,十分优秀!