标签: xcodebuild

使用iOS的Xcode - 以一种易于在调试模式下运行,分发,迭代的方式创建库

这适用于Xcode 4.5.x iOS armv7 armv7s以及sim和特别关于Xcode项目设置/项目构建设置:

我有一个项目"A",它是应用程序商店中的一个应用程序.我有一个项目"B",它是一个将在A中用作依赖项的库,但也作为第三方库分发给其他公司以在其应用程序中使用.(其他公司的第三方应用在这种情况下表示为"Y").

以下是要求:

  • 必须能够在调试模式下运行"A",当然,在同一个构建/会话中同时调试嵌套的"B"项目.
  • 从"A"我可以CMD +点击"B"中的方法签名并直接跳转到那个src文件,在那里我可以自由编辑然后重新编译,就像它来自同一个项目一样.
  • 其他公司的dev"X"必须能够轻松地将我们的库"B"拖到他的项目"Y"中,其中"B"是一个静态库,只显示所需的头文件."Y"当然从"B"的实际头文件的子集中调用方法.只有来自此子集的文件才应包含在Dev"X"的分发中.
  • Dev"X"不需要在他的Xcode项目中修改任何内容,只需将"B"(包含静态库和头文件子集)的文件夹拖到他的项目中,然后单击"复制资源,创建引用等" ".
  • 我需要能够轻松地生成"B"的静态库构建,基于我一直在编辑的相同文件,因为我在其依赖项目"A"中迭代并调试该项目"B".
  • 除了源代码之外,"B"没有资源 - 没有图像资产,xib或类似的东西.
  • 从"B",我点击"存档"和噗!有一个静态库(必须是胖二进制文件,我的意思是它适用于模拟器+ armv7 + armv7s,请!!),基本的头文件已准备好分发.
  • 所有这一切都必须是app store apps-friendly
  • 这也必须是可靠的.如果我每次添加一个文件时必须不断回来进行大量的配置更改,那就不好了.

更新:
* 最重要的:这需要是一个我可以检查的回购,这是一个完整的端到端模板,我正在寻找,我需要能够打开Xcode 4.5.2+并点击播放和看到这个东西建立,无痛苦.

500分给任何可以提供我一个模板项目的人,该模板项目演示了我上面描述的所有内容,"A","B"和"Y"("B"静态库用作dep).我需要的只是一组骨架项目("A","B"(嵌套在"A"中)和"Y"),它们展示了如何做到这一点.在发布赏金之前,请不要阻止答案.如果它符合我的要求,我会确保你得到我的赏金积分.

我有点担心,由于Xcode的限制,这甚至不可能以一种不是完全麻烦的方式.请证明我错了.

更新:我决定不再关心armv6了.再见,armv6. 额外的功劳,如果你可以使用armv7,armv7s,i386 /模拟器将armv6卷入dist输出.

PS我保证我会合理地给予积分.我不打算在技术上隐瞒它们.如果你让我的生活在这一领域大大减少痛苦,我很乐意给你积分.

xcodebuild ios xcode4 xcode4.5

20
推荐指数
1
解决办法
3700
查看次数

在命令行中清除IOS xcode目标

我正在使用以下命令从命令行构建/运行IOS应用程序:

xcodebuild  -sdk "${TARGET_SDK}" -xcconfig "${CONFIG_FILE_PATH}"  -configuration Release

/usr/bin/xcrun -sdk "${TARGET_SDK}" PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${OUTPUT_DIR}/${APPLICATION_NAME}.ipa"
Run Code Online (Sandbox Code Playgroud)

是否有任何清理目标的命令.或者这些命令负责清洁自己.

xcode build xcodebuild ios xcrun

20
推荐指数
1
解决办法
2万
查看次数

xcodebuild - codesign -vvvv说"资源包络已经过时"

我刚刚更新了我的xcode安装以使用xcode 6.0.1,以便开始为ios8设备编译我的应用程序.出于某种原因,我无法正确签署使用以下内容生成的应用程序文件:

xcodebuild -project GrantM/GrantM.xcodeproj -configuration Release
Run Code Online (Sandbox Code Playgroud)

它编译代码,看起来很好,但运行:

/usr/bin/codesign --verify -vvvv GrantM/GrantM.app
Run Code Online (Sandbox Code Playgroud)

给我吗:

Program /usr/bin/codesign returned 1 : [GrantM/GrantM.app: resource envelope is obsolete]
Codesign check fails : GrantM/GrantM.app: resource envelope is obsolete
Run Code Online (Sandbox Code Playgroud)

使用以下命令检查代码是否已签名:/ usr/bin/codesign -dv GrantM/GrantM.app

收益:

Executable=Documents/GrantM/GrantM/GrantM.app/GrantM
Identifier=com.grantapps.GrantM
Format=bundle with Mach-O universal (armv7 (16777228:0))
CodeDirectory v=20200 size=647 flags=0x0(none) hashes=23+5 location=embedded
Signature size=4336
Signed Time=24 Sep 2014 12:54:53 pm
Info.plist entries=34
TeamIdentifier=N3KKU46JLY
Sealed Resources version=2 rules=5 files=55
Internal requirements count=1 size=180
Run Code Online (Sandbox Code Playgroud)

有没有其他人在OSX 10.9.5和xcode 6.0.1上遇到类似的问题?或者我只是有点愚蠢并做一些明显错误的事情?

另外,我能够找到在xcode中生成的应用程序的调试版本,并且可以成功签名,但它是一个调试版本,它不适用于distrobution.我甚至无法手动签署xcodebuild生成的应用程序文件.

感谢您提前提供的任何帮助或建议.

xcode xcodebuild codesign xcode6 ios8

20
推荐指数
2
解决办法
2万
查看次数

代码= 53"模拟器验证失败."

自从我尝试运行后更新到XCode 6.2

xcodebuild -project Demo.xcworkspace -scheme Demo clean build test
Run Code Online (Sandbox Code Playgroud)

我总是得到:

iPhoneSimulator: SimVerifier returned: Error Domain=NSPOSIXErrorDomain Code=53 
"Simulator verification failed." UserInfo=0x7f82b9e091a0 
{
    NSLocalizedFailureReason=A connection to the simulator verification service could
    not be established., 

    NSLocalizedRecoverySuggestion=Ensure that Xcode.app is installed on a volume with 
    ownership enabled., 

    NSLocalizedDescription=Simulator verification failed.
}
Run Code Online (Sandbox Code Playgroud)

有没有遇到过这个?

截图

xcode xcodebuild ios

20
推荐指数
3
解决办法
7266
查看次数

Xcodebuild - 跳过完成请求崩溃报告。继续测试

我正在使用 Xcode 运行 CI 机器。

测试是使用触发的fastlane gym。我在输出中看到这一行:

2019-05-27 16:04:28.417 xcodebuild[54605:1482269] [MT] IDETestOperationsObserverDebug: (A72DBEA3-D13E-487E-9D04-5600243FF617) 完成请求崩溃报告。继续测试。

此操作需要一些时间(大约一分钟)才能完成。据我所知,Xcode 请求 Apple 的崩溃报告显示在“组织者”窗口中。

由于这是一台 CI 机器,因此永远不会在其上查看崩溃报告,这一步可以完全跳过,我怎么能跳过它?

xcode xcodebuild ios fastlane fastlane-gym

20
推荐指数
1
解决办法
1613
查看次数

“JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions”中没有名为“cancelButtonTintColor”的成员

描述

如何修复此错误。我已经使用最新版本创建了简单的项目,当尝试通过它构建项目时Xcode会生成错误吗?

版本

0.67.3

Output of 恩克斯 react-native info

OS: macOS 11.5.2
CPU: (8) x64 Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
Memory: 83.30 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.18.2 - /usr/local/opt/node@14/bin/node
Yarn: 1.22.15 - /usr/local/bin/yarn
npm: 6.14.15 - /usr/local/opt/node@14/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK: Not Found
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7583922
Xcode: 13.2.1/13C100 - …
Run Code Online (Sandbox Code Playgroud)

version xcodebuild ios reactjs react-native

20
推荐指数
2
解决办法
1万
查看次数

无法通过xcodebuild从命令行执行测试

我正在尝试使用iOS测试用例的命令行来构建和运行测试用例.我给出了以下命令:

xcodebuild -target AppEngineTests -configuration Debug -sdk iphonesimulator TEST_AFTER_BUILD=YES clean build
Run Code Online (Sandbox Code Playgroud)

它构建应用程序,但不运行测试用例.

有人可以帮忙吗?谢谢

xcodebuild ios xctest

19
推荐指数
2
解决办法
1万
查看次数

来自Jenkins/SSH的Xcode,Codeign错误 - "不允许用户交互"

我试图在Jenkins上运行自动xcodebuild,但我遇到了错误

不允许用户交互.命令/ usr/bin/codesign失败,退出代码为1

我已经引用了"不允许用户交互"尝试使用codesign和其他类似线程签署OSX应用程序,但没有一个解决方案似乎能够正确地修复错误.


这是我已经尝试过的:

  • 我已经允许所有项目访问钥匙串,并且我已经特别添加了代码签名到"始终允许"列表(在此处完成/sf/answers/1584652751/)

  • 我已经将钥匙串设置为不通过Keychain Access的设置和命令自动锁定超时

    security set-keychain-settings -t 3600 -l <KEYCHAIN>
    
    Run Code Online (Sandbox Code Playgroud)
  • 我试过打电话

    codesign --sign <CODE SIGN IDENTITY> --force ...
    
    Run Code Online (Sandbox Code Playgroud)

    在项目编译之前(更具体地说,这个解决方案/sf/answers/1414567311/),虽然这成功地构建了项目,但我认为编译前的协同设置是正确或可靠的.(编辑:从jenkins运行时也失败了)


以下是我正在执行的命令:

security unlock-keychain -p <PASSWORD> <KEYCHAIN>
xcodebuild -scheme <SCHEME> -workspace <WORKSPACE> -derivedDataPath <BUILD DIRECTORY> -configuration <CONFIGURATION> "CONFIGURATION_BUILD_DIR=<BUILD DIRECTORY>" "CODE_SIGN_IDENTITY=<CODE SIGN ID>" "PROVISIONING_PROFILE=<PROVISIONING PROFILE>" clean build
Run Code Online (Sandbox Code Playgroud)

有趣的是要在机器上构建项目使用上面的命令,但尝试通过ssh(和jenkins)运行完全相同的命令会导致错误.


在此先感谢您的帮助!

ssh xcodebuild codesign ios jenkins

19
推荐指数
3
解决办法
2万
查看次数

Xcode 7 PluginLoading:必需的插件兼容性UUID

当我尝试从命令行构建项目时,我从xcodebuild收到以下消息:

xcodebuild [10713:1209993] [MT] PluginLoading:所需的插件兼容性UUID F41BD31E-2683-44B8-AE7F-5F09E919790E用于路径'〜/ Library/Application Support/Developer/Shared/Xcode/Plug-ins/DVTPlugInCompatibilityUUIDs中不存在SparkInspectorXcodePlugin.xcplugin

我在一年前安装了Spark Inspector,并在大约6个月前删除了它.

有没有办法重置Xcode,以便它不知道有这样的插件.

到目前为止我已经尝试重新安装Xcode,删除所有参考数据.他们没有工作.

xcode xcodebuild ios

19
推荐指数
1
解决办法
8295
查看次数

xcodebuild工作区和方案

当您指定工作空间和方案时,我对xcodebuild命令行工具会发生什么感到困惑.

我理解配置的方案如何在XCode IDE GUI中工作.构建操作列出了要构建的目标以及每个操作(分析,测试,运行,配置文件,存档),您可以选择要执行构建操作的目标.

因此,如果我在构建操作中选择了每个操作(分析,测试,运行,配置文件,存档),那么当我执行以下命令时会发生什么.

xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme 
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH...
Run Code Online (Sandbox Code Playgroud)

它在主xcodeproj中搜索MyScheme.xcscheme,它在XCode中编辑方案时指定了所有这些配置.

xcodebuild从这个文件中读取了什么?它是否仅使用AdHoc配置构建配置的目标并忽略其他所有内容?

xcodebuild ios xcode4

18
推荐指数
1
解决办法
2万
查看次数