我最近一直在试验Coinbase iOS SDK,我一直在检索用户的以太坊,Litecoin和比特币现金余额和历史交易时遇到问题.目前,我只是设法用比特币,美元和欧元来做这件事,这似乎与Coinbase提供的演示应用程序的行为一致.
我已使用OAuth2在Coinbase API Access页面上配置了应用程序,并且正在应用程序中使用生成的客户端ID和机密.
问题似乎源于我修改Coinbase iOS SDK以允许我将帐户参数作为"全部"传递的事实.我希望这可以让我查看所有用户帐户(ETH,BTC,LTC等)的详细信息.但是,在Coinbase对象上调用'getAccountsList'时,我只获得BTC,USD和EUR.
NSString *accessToken = [response objectForKey:@"access_token"];
Coinbase *client = [Coinbase coinbaseWithOAuthAccessToken:accessToken];
[client getAccountsList:^(NSArray *accounts, CoinbasePagingHelper *paging, NSError *error) {
for (CoinbaseAccount *account in accounts) {
// Only BTC, USD and EUR are in the accounts array at this point.
}
}];
Run Code Online (Sandbox Code Playgroud)
这是令人惊讶的,因为权限请求页面正确地询问用户所有钱包,如下面的屏幕截图所示:
我怀疑这个解决方案是使用API密钥,因为您可以准确指定授予访问权限的帐户.我计划分发应用程序,因此不应使用此技术.
以下是我发送的URL的示例:
https://www.coinbase.com/oauth/authorize?response_type=code&client_id=CLIENT_ID_GOES_HERE&account=all&scope=balance%20transactions%20user&redirect_uri=com.example-name.example-app.coinbase-oauth%3A%2F%2Fcoinbase-oauth
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用OAuth请求访问所有用户帐户,并能够检索每个帐户的详细信息?我定义的范围在某种程度上是不正确的吗?我能想到的唯一选择是逐个请求访问每个钱包并存储个人访问令牌.然而,这不是一个很好的用户体验.
谢谢!
我最近在我的表视图中添加了一个UISearchController,我遇到了动画问题.当点击搜索栏并变为活动状态时,表格视图会跳起以满足搜索控制器的新(活动)位置.这个问题是搜索控制器动画到这个新位置,但表视图不是这样,它是非常刺耳的.这是该问题的视频.
表视图的顶部约束设置为视图控制器的安全区域.下面是我为配置搜索控制器编写的代码:
- (void)configureSearchController {
UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
searchController.searchResultsUpdater = self;
searchController.obscuresBackgroundDuringPresentation = NO;
searchController.searchBar.placeholder = @"Search for any cryptocurrency";
self.searchController = searchController;
if (@available(iOS 11.0, *)) {
self.navigationItem.searchController = searchController;
} else {
self.navigationItem.titleView = searchController.searchBar;
}
self.definesPresentationContext = YES;
}
Run Code Online (Sandbox Code Playgroud)
有没有人对如何使转换顺利进行有任何建议?理想情况下,我希望表视图以与搜索控制器相同的速率向上移动,因为这是整个iOS中的默认行为.
我创建了一个简单的协议,强制NSString符合类的属性:
@protocol CPTSettingViewModel <NSObject>
@property (nonatomic) NSString *titleText;
@end
Run Code Online (Sandbox Code Playgroud)
当我创建一个符合这个协议的类时,Xcode建议我合成该属性:
@synthesize titleText;
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我尝试在初始化器中引用此属性的实例变量时,我收到错误:
使用未声明的标识符'_titleText'; 你是说'titleText'吗?
如何访问从协议继承的属性的实例变量,而不是以我使用属性本身的方式结束?
- (instancetype)initWithTitleText:(NSString *)titleText selectionText:(NSString *)selectionText {
self = [super init];
if (self) {
self.titleText = titleText;
_selectionText = selectionText;
}
return self;
}
Run Code Online (Sandbox Code Playgroud) ios ×3
objective-c ×3
coinbase-api ×1
oauth ×1
properties ×1
protocols ×1
uikit ×1
uitableview ×1