如何使用 Xcode 6.0.1 添加 OS X Server 3.2.1 的证书

2023-11-27

在我升级 Xcode(至 6.0.1)和 OS X Server(至 3.2.1)后,我不知道如何为配置文件添加证书,以便 Xcode 机器人可以找到它们。

我已通过将 .mobileprovision 文件复制到成功添加了配置文件/Library/Developer/XcodeServer/ProvisioningProfiles

但我在日志中收到的错误现在是:

CodeSign /Library/Developer/XcodeServer/Integrations/Caches/017d83d8975db54bc8279c2fcc0304a6/DerivedData/Build/Products/Server\ build-iphoneos/Test.app
    cd /Library/Developer/XcodeServer/Integrations/Caches/017d83d8975db54bc8279c2fcc0304a6/Source/TEST
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: Greener Pastures ApS"
Provisioning Profile: "Greener Pastures Enterprise TEST"
                      (03F7CD73-FB25-422E-22A4-A80F12041005)

    /usr/bin/codesign --force --sign 746ADC85C62D54BEC9FA874A8D777A38D4DB95CA --keychain /Library/Developer/XcodeServer/Keychains/Portal.keychain --resource-rules=/Library/Developer/XcodeServer/Integrations/Caches/017d83d8975db54bc8279c2fcc0304a6/DerivedData/Build/Products/Server\ build-iphoneos/Fnug.app/ResourceRules.plist --entitlements /Library/Developer/XcodeServer/Integrations/Caches/017d83d8975db54bc8279c2fcc0304a6/DerivedData/Build/Intermediates/Fnug.build/Server\ build-iphoneos/Fnug.build/Fnug.app.xcent /Library/Developer/XcodeServer/Integrations/Caches/017d83d8975db54bc8279c2fcc0304a6/DerivedData/Build/Products/Server\ build-iphoneos/Fnug.app

746ADC85C62D54BEC9FA874A8D777A38D4DB95CA: no identity found
Command /usr/bin/codesign failed with exit code 1

看起来像:“我找不到指定配置文件的证书”。

看起来证书应该在文件中/Library/Developer/XcodeServer/Keychains/Portal.keychain– 不幸的是我无法编辑。

我尝试使用以下命令将证书添加到文件中

sudo security import "/Users/administrator/Desktop/Greener Pastures Enterprise Distribution TEST Certificate.p12" -k /Library/Developer/XcodeServer/Keychains/Portal.keychain -A -T /usr/bin/codesign -T /usr/bin/xcodebuild -T /usr/bin/pkgbuild

但这提示我输入“钥匙串密码”。我没有(不,这不是管理员帐户的密码或证书密码)。

有谁知道如何解决这一问题?


首先尝试将您的服务器添加到开发人员门户,并删除项目中的显式配置文件等所有限制。

如果这不起作用,归档雷达解释您的配置以及为什么您认为 Apple 应支持它。

如果您真的非常确定破解您的服务器(可能会破坏它)是个好主意,请从具有管理员权限的帐户在您的服务器上打开一个终端,并且:

  1. 将 Portal 钥匙串复制到桌面:

    > sudo cp /Library/Developer/XcodeServer/Keychains/Portal.keychain ~/Desktop/
    

    Password: 您的管理员密码

    > sudo chown `whoami`:staff ~/Desktop/Portal.keychain 
    
  2. 将 Portal 钥匙串密码设置为“123”

    > security set-keychain-password -o "`sudo cat /Library/Developer/XcodeServer/SharedSecrets/PortalKeychainSharedSecret`" ~/Desktop/Portal.keychain 
    

    New Password: 123

    Retype New Password: 123

  3. 在钥匙串访问中打开钥匙串:

    > open -b com.apple.keychainaccess ~/Desktop/Portal.keychain
    
  4. 使用密码解锁“Portal”钥匙串“123

  5. 将所需的密钥从您的个人“登录”钥匙串复制到“门户”钥匙串。

  6. 确保私钥具有正确的访问权限(在“访问控制”选项卡中),应列出“xcsbuildd”、“xcscontrol”、“xcodebuild”和“codesign”

  7. 锁定“门户”钥匙串,退出“钥匙串访问”

  8. 重置门户钥匙串密码:

    > security set-keychain-password -p "`sudo cat /Library/Developer/XcodeServer/SharedSecrets/PortalKeychainSharedSecret`" ~/Desktop/Portal.keychain 
    

    Password: 您的管理员密码(可选步骤)

    Old Password: 123

    它可能会也可能不会再次要求您输入管理员密码,请注意提示。

  9. 将 Portal 钥匙串复制回来

    > sudo chown _xcsbuildd:_xcs ~/Desktop/Portal.keychain
    > sudo cp ~/Desktop/Portal.keychain /Library/Developer/XcodeServer/Keychains/
    
  10. 由于系统会缓存打开的钥匙串,因此请重新启动计算机。

不要只是盲目地将密钥复制到门户钥匙串中。首先尝试其他解决方案,并在堆栈溢出上询问是否需要帮助。仅在之后执行此程序提交雷达,不仅仅是因为“事情不起作用”。当你不确定自己在这里做什么时,你就会毁掉你的系统。


替代程序(对于高级):

将以下脚本复制为importP12.sh:

#!/bin/sh

importP12()
{
P12FILE="$1"
XCS="/Library/Developer/XcodeServer";
XCBIN="$XCS/CurrentXcodeSymlink/Contents/Developer/usr/bin";
PORTALKC="$XCS/Keychains/Portal.keychain"
PORTALKCS="$XCS/SharedSecrets/PortalKeychainSharedSecret"
sudo security -i <<IMPORT
unlock-keychain -p "`sudo cat $PORTALKCS`" $PORTALKC
import "$P12FILE" -k $PORTALKC -T "$XCBIN/xcsbuildd" -T "$XCBIN/xcscontrol" -T "$XCBIN/xcodebuild" -T /usr/bin/codesign
lock-keychain $PORTALKC
IMPORT
}

echo "Please enter your account password:"
for p12 in "$@"
do
  importP12 "$p12"  
done

And do

> importP12.sh 你的 P12 文件.p12

Password: 您的管理员密码

应该会出现一个对话框,要求您输入 P12 导入密码,然后您就完成设置了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Xcode 6.0.1 添加 OS X Server 3.2.1 的证书 的相关文章

  • swift 中的 C 数组内存释放

    var cpuInfo processor info array t nil var numCpuInfo mach msg type number t 0 var coresTotalUsage Float 0 0 var numCPUs
  • 所有 iOS 屏幕尺寸的启动屏幕图像尺寸

    我正在尝试为我的 iOS 应用程序创建午餐屏幕图像 但我不确定它的尺寸合适 根据苹果网站 iPhone 6 的纵向尺寸应为 750 x 1334 2x 但我的问题是 如何创建适合所有屏幕尺寸 例如 iPhone 5 5s 6 6 plus
  • 在 xcode 中构建时如何禁用应用程序扩展的目标?

    我正在寻找一种方法来禁用今天的扩展目标 以减少每次开发应用程序目标时的构建时间 为了禁用构建 运行您构建的 NSExtension 您应该 单击项目导航器中的项目文件 单击包含的应用程序目标 您确实想要运行的目标 Click Build P
  • iOS 8 UITableView 旋转错误

    因此 在 XCode 6 上编译应用程序后 我注意到一个奇怪的错误 该错误仅在 iOS 8 上运行时才会发生 这UITableView采取错误的inner更新框架后的尺寸 现在我将尝试解释一下具体情况 我们有一个UITableView侧面旋
  • 在 Xcode 6.0.1 中使用仪器进行分析时应用程序挂起

    我观察到 每当我使用 Xcode 6 0 1 中的工具分析我的应用程序时 每次浏览应用程序时应用程序都会挂起 我正在使用 iPhone 5S iOS 8 0 2 来运行我的应用程序 当我在设备上运行该应用程序时 它运行得很好 找到修复 禁用
  • XMPPFramework - 如何注册新用户帐户

    我正在尝试使用 XMPPFramework 连接到 Openfire 服务器并创建一个新的用户帐户 如果我已经以其他用户身份登录 此代码将创建一个新的用户帐户 NSXMLElement query NSXMLElement elementW
  • 如何在 xcode 6 (swift) 中创建没有情节提要的项目?

    任何人都可以练习在 xcode6 swift 中创建没有故事板的项目吗 我有能力实施 func application application UIApplication didFinishLaunchingWithOptions laun
  • Xcode 6:项目导航器中没有 Frameworks 文件夹

    我正在使用 Xcode 6 并遵循 Xcode 版本 4 教程 因此这里和那里的情况有所不同 我的项目导航器中似乎没有 Frameworks 文件夹 因此当我下载一些 framework 文件并在项目编辑器的构建阶段手动添加它们时 我没有
  • AutoLayout Xcode6:为此需要自动布局约束:

    我是自动布局的新手 我擅长自动调整大小 我的要求是 I have 2 view say blue and green width and height of both view is 300 pixel in iPhone5 height
  • 无法从 Xcode 6.1 中的情节提要连接自定义协议委托

    我刚刚将我的 mac 升级到 10 10 将 Xcode 升级到 6 1 发现一个关于故事板的奇怪的事情 我的案例使用的是 swift 项目 无法再从故事板连接自定义协议委托 旧版本 Xcode 附带的旧连接很好 但我无法再连接任何新委托
  • 函数只能在主线程中调用,为什么?

    在下面的代码中 我调用函数 displayMyAlertMessage 两次 我调用的第一个函数工作完美 但第二个函数给我一个错误 指出该函数只能从主线程调用 在我的情况下我该如何做到这一点 我正在使用这段代码 IBAction func
  • XCode 6.0.1 Enterprise In House Distribution 未创建 ipa/plist

    升级到 XCode 6 0 1 后 In House Enterprise Distribution from Archive 现在会创建 pkg 文件 而不是 ipa plist 文件 这打破了我们的企业分配制度 我还没有找到任何有关此更
  • 如何以编程方式查找 Swift 的版本?

    我知道我可以找到我现在正在运行的 Swift 版本 恢复到终端并输入 xcrun swift version Swift version 1 1 swift 600 0 57 4 Target x86 64 apple darwin13 4
  • .playground 是 swift 文件吗?谁能“看到”它?

    我试图弄清楚 playground 文件到底是什么 如果它是源文件 则项目中的其他 swift 文件或其他 playground 文件都无法 据我尝试 看到它 反之亦然 一个项目应该有一个这样的文件吗 它们是一种 swift 文件吗 我知道
  • 加载 XCTest 时出错,未找到合适的图像。

    我最近更新了 Xcode 并开始出现此错误 2014 11 03 15 03 54 222 App 13141 60b Error loading private var mobile Applications 677127BD 5230
  • OS X Server 持续集成 ipa 发行版

    我们有一个配置了 SSL 证书并启用了 Xcode 的 osx 服务器 在将 OSX Server 更新到 3 2 1 和 Xcode 6 0 1 之前 一切正常 我们遇到的问题是 当集成完成后 我们单击设备上的安装按钮 它会尝试下载 但会
  • Xcode 6 Beta / Swift - Playground 未更新

    我正在玩 Xcode 6 第一个测试版的 Playground 功能 我注意到 Playground 有一半时间没有更新 只是不显示结果计算或发生了多少次循环迭代 简单的代码 循环 函数都在那里 甚至是 Swift Tourhttps de
  • iOS 指定初始化器:使用 NS_DESIGNATED_INITIALIZER

    我们在 XCode 6 中引入了这个新宏 NS DESIGNATED INITIALIZER 我在网上搜索 但找不到任何关于如何使用它的好的文档 从语法上来说 我们可以这样使用它 instancetype initWithCoder NSC
  • 在模拟器上卸载应用程序后,NSUserDefaults 未清除

    这听起来可能很菜鸟 我想检查用户是否第二次进入我的应用程序 以便保留我正在使用的运行计数NSUserDefaults 我已经在我的中实现了以下代码rootViewController s viewDidLoad method NSUserD
  • 使用 Xcode 6 和(可能)cocoapods 生成错误

    在构建使用 cocoapods 和最新 Xcode 6 GM 版本的 iOS 项目时 我收到以下静态分析器错误 error error reading pic error no analyzer checkers are associate

随机推荐