Podspec 是:
Pod::Spec.new do |s|
s.name = 'MyPod'
s.version = '0.1.0'
s.summary = 'my summary.'
s.platform = :ios, '13.0'
s.description = <<-DESC
My description.
DESC
s.homepage = 'https://github.com/MyAccount/MyPod'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Me' => 'my@email.com' }
s.source = { :git => 'https://github.com/MyAccount/MyPod.git', :tag => s.version.to_s }
s.swift_version = '5.0'
s.source_files = 'MyPod/Classes/**/*'
s.static_framework = true
s.dependency 'Firebase'
s.dependency 'Firebase/Core'
s.dependency 'Firebase/Auth'
s.dependency 'Firebase/Database'
s.dependency 'GoogleSignIn'
s.dependency 'GoogleAPIClientForREST/Core'
s.dependency 'GoogleAPIClientForREST/Sheets'
s.dependency 'GTMAppAuth' …Run Code Online (Sandbox Code Playgroud) 我们的目标是创建一个隐藏我们内部代码的框架,并为我们的客户提供 SDK。我们已经考虑创建满足我们要求的 XCFramework。互联网上也建议使用 Umbrella 框架,但主要建议避免这种方法。我们的框架依赖于我们通过 Pod 使用的一些第三方库。
问题:XCFramework 不编译 pods 框架。我们收到类似“未找到 Xyz(Pod) 模块”的错误消息。即使我们从客户端添加 pod,它也不起作用。
创建 XCFramework 的代码如下
1)为iOS平台创建一个存档
xcodebuild archive -workspace ABC.xcworkspace \
-scheme ABC \
-sdk iphoneos \
-archivePath "./archives/ios_devices.xcarchive" \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
SKIP_INSTALL=NO
Run Code Online (Sandbox Code Playgroud)
2) 为 iOS-Simulator 平台创建存档
xcodebuild archive -workspace ABC.xcworkspace \
-scheme ABC \
-sdk iphonesimulator \
-archivePath "./archives/ios_simulators.xcarchive" \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
SKIP_INSTALL=NO
Run Code Online (Sandbox Code Playgroud)
3) 从档案创建一个 XCFramework
xcodebuild -create-xcframework \
-framework ./archives/ios_devices.xcarchive/Products/Library/Frameworks/ABC.framework \
-framework ./archives/ios_simulators.xcarchive/Products/Library/Frameworks/ABC.framework \
-output build/ABC.xcframework
Run Code Online (Sandbox Code Playgroud)
我们成功获得了 ABC XCFramework,但 XCFramework 中不包含依赖项。有什么解决办法吗?或者有什么方法可以将框架搜索路径设置为客户端?或任何替代方法?
又一个代码签名错误.
我正在运行命令:
xcodebuild -project $DIR/myproject.xcodeproj -sdk iphoneos5.0 -alltargets
Run Code Online (Sandbox Code Playgroud)
和我的project.pbxproj
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Ryan"
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "/Users/ryan/12345678-9012-3456-7890-123456789012.mobileprovision";
Run Code Online (Sandbox Code Playgroud)
与输出
=== BUILD NATIVE TARGET myproject OF PROJECT myproject WITH THE DEFAULT CONFIGURATION (Release) ===
Check dependencies
[BEROR]Code Sign error: Provisioning profile '/Users/ryan/12345678-9012-3456-7890-123456789012.mobileprovision' can't be found
Run Code Online (Sandbox Code Playgroud)
我找不到任何关于如何做到这一点的指导.我已经尝试将该规定放在〜/ Library/MobileDevice/Provisioning Profiles中,并将project.pbxproj中的配置文件字段设置为仅配置文件ID
我需要在没有Jenkins/Hudson的命令行中配置它
我正在通过命令行使用xcodebuild(xcode 5)进行存档,如下所示:
xcodebuild -project MyProject.xcodeproj -scheme MyScheme -sdk iphoneos7.0 -configuration Release archive CODE_SIGN_IDENTITY="iPhone Distribution: My ID" -archivePath archive/MyArchive.xcarchive -xcconfig Config/MyReleaseConfig.xcconfig CONFIGURATION_BUILD_DIR=$SRCROOT/build/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了我的xcarchive生成和控制台输出似乎没问题.但是,当我浏览存档的内容时,dSYM下没有任何内容.项目设置已验证正常.如果我运行与上面相同的命令但是省略了该CONFIGURATION_BUILD_DIR位,我按预期得到了dSYM.你知道是否有解决方案(即应该设置其他任何东西).我想控制build dir.
编辑:
我已经尝试从命令行显式设置(而不是在我的方案设置中):
DEBUG_INFORMATION_FORMAT="dwarf-with-dsym"
Run Code Online (Sandbox Code Playgroud)
和pos处理到YES.仍然没有快乐.
谢谢.
从Xcode 7†开始,xcodebuild导出存档步骤一直给我们错误.
构建命令
xcodebuild -exportArchive -archivePath "path/to/Thing.xcarchive" \
-exportPath "path/to/" \
-exportOptionsPlist path/to/PackageOptions-adhoc.plist
Run Code Online (Sandbox Code Playgroud)
产量
2015-10-08 16:28:27.409 xcodebuild[62682:464728] [MT] IDEDistribution: Step failed: <IDEDistributionThinningStep: 0x7ff1a42d23f0>: Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo=0x7ff1a72ddd80 {NSLocalizedDescription=No applicable devices found.}
error: exportArchive: No applicable devices found.
Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo=0x7ff1a72ddd80 {NSLocalizedDescription=No applicable devices found.}
** EXPORT FAILED **
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?怎么修?
†7.0和7.0.1,关于小牛队.
我正在尝试将我的xcarchive转换为IPA(XCode 7.1.1).以下命令
xcodebuild
-exportArchive -archivePath foo.xcarchive -exportPath . -exportFormat IPA
Run Code Online (Sandbox Code Playgroud)
失败了
路径'foo.xcarchive'中的存档不是单包存档
由于上面的命令在技术上已弃用,我还尝试了新的表单:
xcodebuild
-exportArchive -archivePath foo.xcarchive -exportPath .
-exportOptionsPlist ipa.plist
Run Code Online (Sandbox Code Playgroud)
凡ipa.plist如下:
<?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>method</key>
<string>app-store</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
然后导致错误:
错误:exportArchive:关键'方法'的exportOptionsPlist错误:预期{}之一,但找到了app-store
现在,尝试调试这个我打开了xcarchive文件夹并检查了它的结构.我注意到我在同一级别上有一个文件夹,Products\Applications\foo.app因此我将其删除并再次尝试无效(相同的结果).然后我继续从foo.app中删除文件,直到我只剩下DWARF二进制文件 - 仍然没有雪茄(相同的结果),尽管这可能是因为我通过手动删除文件搞砸了应用程序签名.
在使用iOS 10升级到Xcode 8后,我得到了这个错误.我是最新的El Capitan并使用以下版本的ruby(我通过rvm更新,与2.0.0系统版本相同)和CFPropertyList:
Philipps-MacBook-Pro:mobile-sdk prakuschan$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
Philipps-MacBook-Pro:mobile-sdk prakuschan$ gem list CF
*** LOCAL GEMS ***
CFPropertyList (2.3.3)
Run Code Online (Sandbox Code Playgroud)
xcodebuild -exportArchive命令在shell脚本中执行,成功归档后,我收到以下错误:
** ARCHIVE SUCCEEDED **
2016-09-22 10:02:16.460 xcodebuild[10375:8369748] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/9y/r64c9wld0jx2yf3glsrzhhr00000gn/T/AppName_2016-09-22_10-02-16.456.xcdistributionlogs'.
2016-09-22 10:02:18.228 xcodebuild[10375:8369748] [MT] IDEDistribution: Step failed: <IDEDistributionThinningStep: 0x7fe435f9dfb0>: Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.}
error: exportArchive: No applicable devices found.
Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalizedDescription=No applicable devices found.} …Run Code Online (Sandbox Code Playgroud) 我在 Big Sur 中使用 Xcode 13 从命令行构建了一个产品,xcodebuild并生成此警告:
warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning
Run Code Online (Sandbox Code Playgroud)
文档说:
但是,我找不到这样的选项:
我正在使用 fastlane 来构建我的 Unity iPhone 应用程序。\n它工作得很好,直到突然我在构建过程中开始收到以下错误/警告:
\n[10:13:48]: $ xcodebuild -resolvePackageDependencies -scheme Unity-iPhone -project ./Unity-iPhone.xcodeproj\n[10:13:48]: \xe2\x96\xb8 2021-11-16 10:13:48.903 xcodebuild[59318:1348378] XType: failed to connect - Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process.}\n[10:13:48]: \xe2\x96\xb8 2021-11-16 10:13:48.904 xcodebuild[59318:1348378] Font server protocol version mismatch (expected:5 got:0), falling back to local fonts\n[10:13:48]: \xe2\x96\xb8 …Run Code Online (Sandbox Code Playgroud) 有时,当我通过 Xcode 运行应用程序时,大约有十分之二的情况会出现以下错误:
Internal inconsistency error (didStartTask): targetID (174) not found in _activeTargets.
Internal inconsistency error (didEndTask): '12' missing from _activeTasks.
Run Code Online (Sandbox Code Playgroud)
使用Xcode 14.1、14.2、14.3版本会重现此错误。
可以通过清理项目并重建它来修复此错误。我在forums.swift.org上找到了帖子,但没有解决方案。
从线程判断,问题可能出在SPM以及依赖关系连接不正确
有人有解决办法吗?
xcodebuild ×10
xcode ×8
ios ×5
cocoapods ×1
enterprise ×1
fastlane ×1
frameworks ×1
gitlab-ci ×1
ipa ×1
objective-c ×1
plist ×1
podspec ×1
rvm ×1
xcarchive ×1
xcframework ×1
xcode13 ×1
xcode7 ×1