小编XiO*_*iOS的帖子

如何识别OAuth令牌是否已过期?

我的iOS移动应用程序使用OAuth2.0协议实现的服务.OAuth访问令牌附带刷新令牌和expires_in字段.我在我的应用程序中保存了刷新令牌和访问令牌到期时间,但不知道何时使用它们.

  • 那么使用它的常用和最佳做法是expires_in什么?
  • 如何识别我的访问令牌已过期?
  • 是否存在常见的Web服务错误格式,表明我的访问令牌已过期?

ios oauth-2.0

34
推荐指数
2
解决办法
4万
查看次数

UICollectionview单元格选择

我已经制作了一个图像网格,为了显示其选择,我在选择时为图像绘制了边框.但问题是当我在顶部选择一些图像并向下滚动图像网格时,底部的其他一些图像似乎也被选中.下面是我的代码片段:

UINib *cellNib = [UINib nibWithNibName:@"collectionCell" bundle:nil];
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"cellCV"];

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setItemSize:CGSizeMake(95, 95)];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];

[self.collectionView setCollectionViewLayout:flowLayout];
Run Code Online (Sandbox Code Playgroud)

上面已添加到viewDidLoad中,其中集合视图单元格设计为nib.

并实施以下代表:

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{   
selectedImageIndex = indexPath.row;
[collectionView reloadData]; 
}

-(CollectionCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UIImage *img = [imageArray objectAtIndex:indexPath.row];

static NSString *cellIdentifier = @"cellCV";
CollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:   
cellIdentifier forIndexPath:indexPath];
cell.imageView.image = img;
cell.imageView.tag = indexPath.row;
UIImageView *imgView = (UIImageView *)[cell viewWithTag:indexPath.row];
if (indexPath.row == selectedImageIndex) {
    imgView.layer.borderWidth =  4.0;
    imgView.layer.borderColor …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview

18
推荐指数
1
解决办法
5万
查看次数

Mac Dock就像放大iPad一样

我试图通过iCarousel库为我的iPad应用程序带出像放大效果一样的底座.有了这个我可以使用下面的代码放大旋转木马的中心项目,但尝试缩放中心项目的相邻项目,缩放级别略小于中心项目.

- (CATransform3D)carousel:(iCarousel *)_carousel itemTransformForOffset: 
                         :(CGFloat)offset baseTransform:(CATransform3D)transform
 {
    CGFloat MAX_SCALE = 1.95f; //max scale of center item 
    CGFloat MAX_SHIFT = 40.0f; //amount to shift items to keep spacing the same 

    CGFloat shift = fminf(1.0f, fmaxf(-1.0f, offset));
    CGFloat scale = 1.0f + (1.0f - fabs(shift)) * (MAX_SCALE - 1.0f);
    transform = CATransform3DTranslate(transform, 
    offset * _carousel.itemWidth * 1.08f + shift * MAX_SHIFT, 0.0f, 0.0f);
    return CATransform3DScale(transform, scale, scale, scale);
}
Run Code Online (Sandbox Code Playgroud)

期待任何形式的帮助.谢谢.

ios icarousel

5
推荐指数
1
解决办法
1806
查看次数

如何在长按UITextField上禁用"替换"和"共享"选项?

在UITextField长按,现在有一些选项,即'replace ...'和'share ...'以及'cut','copy','paste'和'define'选项.可以通过'canPerformAction:withSender'方法禁用这些'剪切','复制','粘贴'和'定义'选项,但我找不到禁用这些'替换...'和'共享的方法. ..'选项.是否有任何选择器可用于此或可以通过任何其他方式禁用?有没有人遇到这个并成功禁用这些选项?请建议.

editing uitextfield ios

5
推荐指数
1
解决办法
751
查看次数

使用自定义键进行 Firebase Crashlytics 报告

我想为每次崩溃发送一些自定义密钥,例如崩溃标识符,以识别用户从 crashlytics 报告的崩溃。我看到 Crashlytics API 提供了一个方法 setObjectValue(forkey:) 来执行此操作,但是,应该在代码中的何处调用它?我们是否有崩溃发生时触发的 Crashlytics 回调?到目前为止我所看到的,只有一个回调来知道上次会话期间是否发生了崩溃。

  1. 那么,哪个位置是添加与每次崩溃关联的自定义键的最佳位置呢?
  2. 文档说 Crashlytics 最多支持 64 个这样的键/值对,这是否意味着我们只能为 64 个崩溃添加自定义键,或者这是如何工作的?

crash analytics firebase crashlytics swift

5
推荐指数
1
解决办法
8886
查看次数

OS X应用程序的沙箱路径

我想将我的应用程序的数据保存在用户无权访问的沙箱路径中.

我的应用程序数据可以是文件或目录的形式.

Mac应用程序的沙箱路径是什么?我怎么能访问这条路?

macos sandbox

4
推荐指数
1
解决办法
3074
查看次数

NSFileManager URL与路径

这是为什么网址的方法,如moveItemAtURL:toURL:error:NSFileManager类中建议在路径的方法,如moveItemAtPath:toPath:error:

url nsfilemanager ios

4
推荐指数
1
解决办法
709
查看次数

Git 从另一个远程分支更新我的远程分支

我们有一个名为“develop”的主分支,所以每当我们开发一个功能时,我们都会从“develop”创建一个本地功能分支,然后再合并回开发。

现在的情况是,
1. User1 必须从“develop”(比如 feature1)创建一个功能分支,并且他必须将其发布到 Git。这个做完了。
所以现在,“develop”和“feature1”是 Git 中的 2 个不同分支,“feature1”中的更改不会合并到“develop”,因为“feature1”仍在开发中。
2. 后来我开始实现的功能对'feature1'有一些依赖。所以我从 git 克隆了 'feature1' 分支并决定更新我对它的更改,认为 'feature1' 已经从 'develop' 分支更新。
3.但后来我发现'feature1'分支没有更新'develop'分支的一些最新变化。
4.现在我需要'develop'的改变

使用 GIT 命令有什么可能的方法吗?

git github master git-merge git-branch

2
推荐指数
1
解决办法
3488
查看次数

在iOS Swift中启用堆栈金丝雀

我一直在寻找一种快速为我的ios应用程序启用堆栈金丝雀的方法,但是后来我发现最新版本的xcode具有默认启用启用堆栈金丝雀所需的标志。因此,然后我正在寻找一种方法来确保启用堆栈金丝雀,正如其他站点所说,我尝试在终端机中使用otool命令($ otool -Iv appName | grep stack_chk)来确保它并期望它返回'stack_chk_guard和stack_chk_fail'标志,但未返回任何值/标志。因此,我然后尝试在“其他C标志”下手动设置标志“ -fstack-protector-all”,但仍然无法通过otool命令看到标志。

在此处输入图片说明

我在这里想念什么?还是我误解了什么?如何确保自己为应用程序启用了堆栈金丝雀?

compiler-flags penetration-testing ios stack-smash

2
推荐指数
1
解决办法
2286
查看次数

摆脱旧模型版本中的核心数据警告

我收到了一些属性的核心数据警告 MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS,因为我没有为某些属性设置反向关系。

看起来我不能简单地在构建设置中为 MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS 设置抑制警告标志,这不会有任何帮助,因为这只会抑制我未来与此相关的所有警告。

有什么办法可以摆脱这个吗?

core-data compiler-warnings ios

2
推荐指数
1
解决办法
241
查看次数

podfile 中带有 url 的 pod 名称

我看到某些 pod 文件仅提及 pod 的名称(pod 'podName'),但某些 pod 及其 git url(pod 'podName' , :git => '开源 git url')...我也倾向于有一个这样的情况,当我只提及 pod 的名称而不提及 git url 时,我遇到了错误。那么它到底有什么区别呢?pod 文件中的“ pod 'podName' ” vs “ pod 'podName' , :git => 'open source git url' ” ?对于某些 pod,如果我只使用 pod 名称进行 pod 安装,那么只会给出一些错误,该错误似乎只能与其 git url 一起使用。那么什么时候实际上需要指定 git url,什么时候不需要呢?

ios cocoapods podfile

1
推荐指数
1
解决办法
4585
查看次数