谢谢,麦克斯
所有的修改都是在Dropbox核心SDK中完成的,一旦你有了它的源代码。
1)删除OSX专用的所有文件
DBAuthHelperOSX.m
DBKeychain-OSX.m
DBRestClient+OSX.m
DBAuthHelperOSX.h
DBRestClient+OSX.h
DropboxOSX.h
DropboxOSX-Info.plist
DropboxOSX-Prefix.pch
MPOAuthCredentiaIConcreteStore+KeychainAdditionsMac.m
2)将文件DBAccountInfo(.m和.h)重命名为dbaccountInfoold。在SDK的类中查找所有出现的DBAccountInfo并用新名称替换。
6)查找所有出现的“redential”并将其替换为“redentialold”。也更新类的名称。警告:只替换包含属于核心SDK的表达式的变量和类名。例如,在以下情况下,不要替换:usecredential:[NSURLCredentialCredentialForTrust:Challenge.ProtectionSpace.ServerTrust]。这是来自NSURL类的方法,修改会破坏代码。
7)将源文件导入到项目中。从核心SDK导入的所有源文件都不能用ARC运行。这样,必须对这些文件禁用ARC。选择项目并转到构建阶段->编译源,选择与核心SDK有关的所有文件,双击它们并插入-fno-objc-arc
。
8)如果你编译这个项目,你会发现一些重复的符号:
duplicate symbol _kDBDropboxAPIVersion in:
duplicate symbol _kDBDropboxAPIHost in:
duplicate symbol _kDBDropboxAPIContentHost in:
duplicate symbol _kDBDropboxWebHost in:
duplicate symbol _kDBSDKVersion in:
duplicate symbol _DBErrorDomain in:
duplicate symbol _DBStringFromLogLevel in:
duplicate symbol _DBLogFilePath in:
duplicate symbol _DBSetupLogToFile in:
duplicate symbol _DBLogSetLevel in:
duplicate symbol _DBLogSetCallback in:
duplicate symbol _DBLog in:
duplicate symbol _DBLogInfo in:
duplicate symbol _DBLogWarning in:
duplicate symbol _DBLogError in:
duplicate symbol _DBLogFatal in:
在这些变量名称的末尾添加“old”。不要忘记更新代码,以便所有对这些变量的调用都使用它们的新名称。
9)为了在两个SDK中链接您的Dropbox帐户,请转到Core的dbsession+ios.m并在handleurl
方法中注释以下行:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:kDBLinkNonce];
[[NSUserDefaults standardUserDefaults] synchronize];
10)在应用程序委托的application:openurl:sourceapplication:annotation:
方法中插入以下代码:
[[DBSession sharedSession] handleOpenURL:url];//Core API
[[DBAccountManager sharedManager] handleOpenURL:url]; //Datastore API
重要:必须遵守此命令!因为在9)中所做的修改,所以必须在数据存储之前调用来自核心API的handleOpenURL
11)在application:DidFinishLaunchingWithOptions:
中插入以下代码:
//Datastore API
DBAccountManager *mgr =
[[DBAccountManager alloc] initWithAppKey:DROPBOX_APP_KEY secret:DROPBOX_APP_SECRET];
[DBAccountManager setSharedManager:mgr];
//CoreAPI
DBSession *dbSession = [[DBSession alloc]initWithAppKey:DROPBOX_APP_KEY
appSecret:DROPBOX_APP_SECRET
root:kDBRootDropbox];
[DBSession setSharedSession:dbSession];
12)要触发链接进程,请使用[[DBAccountManager sharedManager]LinkFromController:Self];
13)若要取消链接,请使用以下行
[[DBAccountManager sharedManager] linkedAccount] unlink];
[[DBSession sharedSession] unlinkAll];
0.15 新版功能. 该节文档讲述Scrapy核心API,目标用户是开发Scrapy扩展(extensions)和中间件(middlewares)的开发人员。 Crawler API Scrapy API的主要入口是 Crawler 的实例对象, 通过类方法 from_crawler 将它传递给扩展(extensions)。 该对象提供对所有Scrapy核心组件的访问, 也是扩展访问Scrapy核
Fastjson API入口类是,常用的序列化操作都可以在JSON类上的静态方法直接完成。 下面是JSON类的常用方法: 方法 说明 public static final Object parse(String text); 把JSON文本转换为JSONObject或者JSONArray public static final JSONObject parseObject(String tex
我一直使用关键字编写Web Api控制器方法,并且一直使用。我最近尝试了一个方法同步,以了解它将如何影响性能,但震惊地发现它对任何其他http请求都没有阻塞影响。 举个例子-- 这样,我就可以运行=>,然后运行任意数量的=>,并且不会阻塞对endpoint的请求。 我最初认为需要将Hello方法变为异步,这样对Goodbyeendpoint的请求就可以毫无延迟地返回。但是使此方法同步/异步没有任何
事件 事件注册 命名参数样式 目标 修饰语 事件引用 API引用 运行时检查API 可用的检查目标 核心异常 核心内构件
问题内容: 你们中的某些人可能知道某些核心Java API对System.gc()进行了显式调用。我知道发生这种情况的两种情况: 蔚来 我相信这样做是为了在系统耗尽“直接”内存时对直接ByteBuffer进行一些清理。 RMI。在这里,原因对我来说还不清楚… 因此,问题是: 是否知道RMI需要System.gc()的原因? 您是否知道核心API(甚至某些其他流行的库)可以直接调用System.gc
我目前正在尝试为客户端界面-服务器交互构建一个API。我已经决定使用ASP.NET核心作为API,Nginx作为托管平台(在Ubuntu 18.04上)。由于ASP.NET使用Kestrel,我们设置了一个反向代理,将请求从Nginx转发到Kestrel——也就是托管API的服务器。我们在NGINX服务器上设置了SSL,但是它没有在Kestrel服务器上设置。 简单地说,我不知道如何在 Kestr