MendeleyKitOSX 3.6.2

MendeleyKitOSX 3.6.2

Vincent TourraineAaron Tunney维护。



  • Mendeley iOS

[弃用] MendeleyKit —用于Objective-C/Swift的Mendeley SDK

此框架已弃用,不再受支持。

最终发布:2021年2月(3.6.2)

MendeleyKit 3.x 简介

MendeleyKit是一个独立的框架,提供了iOS和macOS应用程序中使用Mendeley API的便捷方法和类。

自从2014年10月推出以来,MendeleyKit经历了很多变化和改进。SDK的3.0版提供了iOS和macOS动态框架的构建。最新的发布版本也支持静态库(需要Xcode 9)。除此之外,还引入了一些API新增(例如,启用远程功能的Mendeley功能API)。

SDK中的大部分代码仍然是基于Objective-C的。然而,在未来几个月内,我们将逐步迁移到Swift(4.2或更高版本)。

最低要求

  • Xcode 8
  • iOS 11.0或更高版本
  • macOS 10.13或更高版本

安装(CocoaPods)

将MendeleyKit集成到您的项目中最简单的方式是使用CocoaPods。这里有3个库:一个是跨平台的,可以作为静态库使用;其余的是特定平台的,可以作为动态库使用

  • MendeleyKit.podspec:iOS/macOS静态库(需要Xcode 9和CocoaPods 1.5)
  • MendeleyKitiOS.podspec:iOS动态框架
  • MendeleyKitOSX.podspec:macOS动态框架

CocoaPods用于框架

在您的客户端Podfile中使用iOS框架

请在您的Podfile中使用以下内容

use_frameworks!
pod 'MendeleyKitiOS'

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'MendeleyKitiOSFramework']
      #add any other build settings 
    end
  end
end

(对于版本低于0.38的CocoaPods,请使用installer.project.targets.each代替installer.pods_project.targets.each)

注意:使用use_frameworks!意味着所有包含的依赖项都将被解释为框架。在CocoaPods中,目前没有提供选择性地将某些库标记为框架,而将其他库标记为静态库的功能

完成后,运行以下命令

pod install

注意:CocoaPods在其Pods文件夹中生成一个umbrella header。这可能导致在编译或执行pod lint MendeleyKitiOS.podspec时出现问题。错误信息是'...在框架中包含非模块头文件...'。CocoaPods为该问题提供了一条完整的消息跟踪,该问题最初出现在Xcode 7.1中。下面的行是一个解决方案,基本上是将生成的pod umbrella header中的#include "MendeleyKitiOS.h"行注释掉。这似乎可以解决问题。下面的示例演示了如何在Podfile的安装后指令中使用它

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = 'YES'
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'MendeleyKitiOSFramework']
      config.build_settings['ARCHS'] = '$(ARCHS_STANDARD)'
    end
  end
  `sed -i '' 's,\#import \"MendeleyKitiOS.h\",\/\/#import \"MendeleyKitiOS.h\",g' 'Pods/Target Support Files/MendeleyKitiOS/MendeleyKitiOS-umbrella.h'`
end

或者,您可以从我们的GitHub仓库克隆公共的MendeleyKit

从MendeleyKit的旧版本升级

在Objective-C框架代码中升级headers/import

使用MendeleyKitiOS框架意味着您需要更改您的headers。MendeleyKit中所有公共headers都包含在框架的总数头文件MendeleyKitiOS.h中。请将您代码中所有显式的MendeleyKit导入替换为这个头文件。

#import <MendeleyKitiOS/MendeleyKitiOS.h>

您可能想使用更现代的语法

@import MendeleyKitiOS;

静态库使用中升级headers/import

注意:如果您使用的是MendeleyKit的静态库版本,则需要使用以下语法(因为现在工作空间已启用模块设置)

#import <MendeleyKit/MendeleyKit.h>

客户端构建设置

  • 客户端应将启用模块设置为
  • MendeleyKit由于其向后兼容性原因,在设置中已经禁用了bitcode生成。您可能需要在使用MendeleyKit框架/库的客户端中进行同样的设置。

入门

MendeleyKit Xcode工作空间包含一个MendeleyKitExample项目。该项目演示了基本功能,例如与Mendeley服务器进行身份验证,获取文档、文件和组的列表。

建议您查阅MendeleyKitExample项目中的类。

此外,GitHub存储库还包括一个MendeleyKitHelp.zip文件。该文件包含了一个完整的HTML和Docset格式的参考集。

在运行MendeleyKitExample应用程序时,请确保您有

  • 客户端ID
  • 客户端密钥
  • 重定向URI

它们需要在ViewController.h文件中输入。注意:包含客户端ID、客户端密钥、重定向URI的代码将不接受在拉取请求中!

Mendeley API提供创建您的应用程序客户端ID、密钥和重定向URI的链接。

使用 Mendeley Dev 门户注册客户端

每个与服务器通信的客户端都必须在 Mendeley 开发者门户网站Mendeley API中注册。

注册快速、简单且免费。它将为您提供在您的应用程序中使用 MendeleyKit 时所需的3个基本成分。

  • 客户端ID
  • 客户端密钥
  • 重定向URI

这些值需要与开发者门户中的值完全匹配。重定向 URI 应该是一个完整的 URL,例如 https:///myredirect(而不是只是 localhost/myredirect)。这可以避免任何陷阱或「UIWebView 加载中断」消息。

提交代码的方法

我们欢迎您的想法和建议。如果您想做出积极的贡献,例如代码更改/添加

  • 代码提交应仅通过拉取请求发送到 Development 分支。
  • 您可以从 Development 创建您自己的子分支并发送至该分支。但是,如果您想将其合并到 Development,则需要创建一个拉取请求。
  • 注意:包含客户端 ID、客户端密钥、重定向 URI 的代码将不会被接受到拉取请求中!

软件发布

MendeleyKit 的所有官方版本都是在 master 上的标记版本。Mendeley 保留将 Development 中做出的更改合并到 master 的权利。每个版本将包含一个概述更改的 RELEASE 文本文件。

问题报告

请使用 GitHub 上的“问题”功能报告您在使用 MendeleyKit 时遇到的任何问题。有关反馈/建议,请联系:[联系邮箱地址,请不要在此处展示真实的邮箱地址,请替换为你的联系邮箱或使用保护服务]