我正在尝试将以下依赖项添加到我的 Podspec
s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
Run Code Online (Sandbox Code Playgroud)
每当我尝试运行时,这是我在终端中得到的pod lib lint MyPodName.podspec:
- ERROR | spec: The specification defined in `MyPodName.podspec` could not be loaded.
[!] Invalid `MyPodName.podspec` file: [!] Unsupported version requirements.
# from <PathToMyPodspec>/MyPodName.podspec:36
# -------------------------------------------
#
> s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
#
# -------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我已经成功地将它用作我的一个 iOS 项目中的 Pod。但是现在我自己正在创建一个 pod,我很难理解我应该怎么做才能让它工作。
先感谢您!
我创建了一个通过 cocoapods 发送的供应框架。现在我想将 dsym 文件也与框架一起发送,以便我的崩溃可以显示在控制台中并包含在存档的 ipa 的 dsym 中。
我尝试在框架中复制 dsym,但在存档构建时抛出“bit_strip 错误”。
提前致谢
我们在 Xcode 项目中使用新的构建系统和 Cocoapods 1.7.5。我们的项目(我们称之为 Y)实际上是一个开发 pod,但我们还编写了一些代码来创建应用程序演示(您知道,为了使构建更快、迭代更快)。这些演示代码(AppDelegate.swift、启动任务等)不包含在开发容器中。剩余的大约 90% 的源代码和资源文件(例如 i18n 字符串和图像资源)被打包到开发 pod 中,供另一个项目(我们称之为 X)使用。
在开发过程中,大部分更改发生在 Y 的 dev pod 部分,因此我们需要确保 X 执行时包含所有更改pod install。
最近我们遇到一个问题:
\nerror: Multiple commands produce \'/Users/x/Library/Developer/Xcode/DerivedData/Y-cawteybtitmeiafweribgqzkuhnr/Build/Products/Debug-iphoneos/Y.app/Assets.car\':\n1) Target \'Y\' (project \'Y\') has compile command with input \'/Users/name/DEV/workspace/Y/SupportFiles/Assets.xcassets\'\n2) That command depends on command in Target \'Y\' (project \'Y\'): script phase \xe2\x80\x9c[CP] Copy Pods Resources\xe2\x80\x9d\nRun Code Online (Sandbox Code Playgroud)\n经过几个小时的multiple commands produce assets.car谷歌搜索,我们终于看到了一个合理的解释:
\n复制捆绑资源的 *.xcassets --> Assets.car
\n[CP] 复制 …
我为 Ionic 和 Capacitor 构建了一个 Capacitor 插件,并将其发布到 NPM - 称之为它test1。然后我在我的 Ionic 5 项目中使用它并通过以下方式成功添加一个新的 Android 项目:
ionic build
ionic cap add android
ionic cap sync
Run Code Online (Sandbox Code Playgroud)
测试了一下,它有效。然后我尝试通过以下方式添加 iOS:
ionic build
ionic cap add ios
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:
`[!] No podspec found for `Test1` in `../../node_modules/test1```
Run Code Online (Sandbox Code Playgroud)
但它失败了。我不明白为什么,因为Test1Plugin.podspec根目录中有一个具有相关依赖项的文件和一个ios/Podfile具有相关依赖项的文件。我还确保这两个文件都发布到 npm。
我尝试将文件名更改.podspec为Test1.podspec,但这是完全相同的问题。
我很困惑,希望有人能给我一些指示,因为我已经在这方面有一段时间并尝试了一切。
我已经为iOS发布了一个CocoaPod,并希望在OS X上也可以使用它.我修复了我的PodSpec,以便它可以用于iOS和Mac OS X:
Pod::Spec.new do |s|
s.name = "EveryoneAPI"
s.version = "0.9.5"
s.summary = "An objective-c wrapper for EveryoneAPI.com's API"
s.description = <<-DESC
To retrieve all information for EveryoneAPI use the following:
EveryoneAPI *everyoneAPI = [[EveryoneAPI alloc] initWithAccountSID:@"ACb8444c3013dc40518e46b48c91f82ba0" withAuthToken:@"AUe90abecac85645ca8a314d41e9b55079"];
[everyoneAPI getInformation:EveryoneAPIReturnAllInfo forPhoneNumber:@"5551234567" withSuccessHandler:^(EveryoneAPIResponseObject *responseObject){
} withErrorHandler:^(NSError *error, NSNumber *statusCode, NSString *readableError){
}];
DESC
s.homepage = "https://github.com/msencenb/EveryoneAPI"
s.license = 'MIT'
s.author = { "Matt Sencenbaugh" => "my_email@gmail.com" }
s.source = { :git => "https://github.com/msencenb/EveryoneAPI.git", :tag => s.version.to_s }
s.ios.deployment_target = …Run Code Online (Sandbox Code Playgroud) 我创建了一个自定义module map文件来处理libxmlswift项目中的导入.(non-modular include错误)
如果我手动执行它,它会工作得很好,但是cocoapods当我尝试pod lint一个包含来自此自定义模块的导入的简单项目时,它将无法找到/解析该模块.
我试过s.module_map = "module/module.modulemap"了
core.xcconfig = {'HEADER_SEARCH_PATHS'=>'$(SDKROOT)/ usr/include/libxml2 $(SRCROOT)/ module $(SDKROOT)/ usr/include/libresolv','OTHER_LDFLAGS'=>'" - lxml2"' ,'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'=>'是','ENABLE_BITCODE'=>'否',"SWIFT_INCLUDE_PATHS"=>"$(SRCROOT)/ module"}
任何帮助,将不胜感激.
我有一个私人吊舱和一个私人规格仓库.我作为二进制文件提供pod,即podspec说:
s.source = {
:http => 'https://github.com/COMPANY/PROJECT/releases/download/v1.0/PrivatePod.zip'
}
Run Code Online (Sandbox Code Playgroud)
我的Podfile具有以下源信息:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/COMPANY/Specs.git'
Run Code Online (Sandbox Code Playgroud)
当我运行pod installgit提示输入密码来克隆我的私有spec repo时,这很棒.
但是,pod install尝试使用curl没有身份验证的二进制zip包,因此GitHub返回404:
Installing PROJECT 1.0 (was 1.0)
[!] Error installing PROJECT [!] /usr/bin/curl -f -L -o /var/folders/_g/52mwshws60v8622n81hv7h7w0000gn/T/d20170608-80045-1l3flqz/file.zip https://github.com/COMPANY/PROJECT/releases/download/v1.1/PrivatePod.zip --create-dirs --netrc-optional
...
curl: (22) The requested URL returned error: 404 Not Found
Run Code Online (Sandbox Code Playgroud)
我不想公开二进制文件.有没有办法告诉CocoaPods在这里做一些认证?
我尝试将凭证放入.netrc其中,CocoaPods似乎很乐意使用,但GitHub仍然无法使用404的请求,即使我看到curl现在正在使用基本身份验证.如果我使用netrc for auth使用curl发出API请求,我会得到很好的响应.但我无法下载发布资产.
我可以使用.netrc从api端点获取发布资产,但只有在我指定时-H 'Accept: application/octet-stream',我才知道如何让CocoaPods这样做.
我正在尝试创建CocoaPod,但是当我尝试验证Pod规格文件时,请向我显示此错误。
- ERROR | [iOS] unknown: Encountered an unknown error (Unable to find other source ref for /Users/jhgonzalez/Desktop/MyApp/Me/cocoaPod/JCore-ui/LibraryComponents/Resources/JCore-ui.xcassets/Contents.json for target JCore-ui.) during validation.
Run Code Online (Sandbox Code Playgroud)
这是我的podspec文件。
Pod::Spec.new do |s|
s.name = 'JCore'
s.version = '0.2.3'
s.summary = 'This is an UI Lib for iOS'
s.platform = :ios, "10.0"
s.description = <<-DESC
This is an UI Lib to iOS. This description is too large than summary
DESC
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Josue Hernandez' => …Run Code Online (Sandbox Code Playgroud) 您好,这里是我们的Podspec,它具有default_subspec和可选的子规范(由于已经设置了默认值,因此不会使用)。该子规格具有更多功能,但需要额外的8MB大小...
`s.default_subspec = 'mainSDK'
s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h"
end
s.subspec 'additionalSDK' do |additionalSDK|
additionalSDK.source_files = "additionalSDK.framework/Headers/*.h"
additionalSDK.vendored_frameworks =['additionalSDK.framework', 'mainSDK.framework']
end
Run Code Online (Sandbox Code Playgroud)
现在,在我们的mainSDK中,我们在#if canImport(additionalSDK)中包含了AdditionalSDK,然后在这些编译器标志之间提供了与AdditionalSDK 相关的代码,如下所示:
#if canImport(additionalSDK)
//adding optional delegate
class ViewController: UIViewController, OptionalDelagate
#else
//no need for delagete
class ViewController: UIViewController
#endif
Run Code Online (Sandbox Code Playgroud)
但是,客户端集成了我们mainSDK后,他认为,该框架是缺少模块:additionalSDK.framework
这怎么可能?我们已经在工作空间中将AdditionalSDK标记为可选。我们试图设置additionalSDK为-weak_framework在其他连接标志(构建设置),但这并没有帮助。
如果客户端集成了额外的 SDK,则所有框架都将正常运行,因为所有框架都已链接。
可选的依赖关系,没有的CocoaPods做工精良,它的CocoaPods的只是问题或我不知道如何配置它
`s.default_subspec = 'mainSDK'
s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h" …Run Code Online (Sandbox Code Playgroud)我正在尝试将 expo 依赖项(准确地说)添加media-library到mail-composerReact Native 项目中。我yarn add编辑了两个依赖项以及yarn add expo-modules@latest和yarn add expo-modules-core。然后我就跑了npx pod-install,为了安全起见,cd我iOS就跑了pod install。两个pod命令都失败并给出以下错误:
\nCouldn't install: Expo \xc2\xbb ExpoModulesCore. Updating the Pods project and trying again...\nCommand `pod install` failed.\n\xe2\x94\x94\xe2\x94\x80 Cause: Unable to find a specification for `ExpoModulesCore` depended upon by `Expo`\n\nRun Code Online (Sandbox Code Playgroud)\n我删除了node_modules、iOS/Pods、iOS/build和yarn.lock,重新安装了所有内容yarn,然后再次尝试,得到相同的结果。