小编Vit*_*aev的帖子

iOS检查调用方法之前是否存在委托

我编写iOS应用程序并使用imageStore库来延迟加载图像并将它们缓存在内存中.(https://github.com/psychs/imagestore)

在ViewController上我创建了imagestore实例:

imageStore = [ImageStore new];
imageStore.delegate = self;
Run Code Online (Sandbox Code Playgroud)

当图像加载成功时,imagestore调用委托方法

- (void)imageStoreDidGetNewImage:(ImageStore*)sender url:(NSString*)url
Run Code Online (Sandbox Code Playgroud)

在tableview上执行reloadData以重绘单元格.一切都很好.但是有问题:如果ViewController执行了卸载(返回导航控制器)并加载了图像,应用程序完成崩溃,因为imagestore调用了卸载ViewController的方法.

我尝试执行以下操作:1)在ViewController中,我将此代码放在viewDidUnload部分中:

imageStore.delegate = nil;
imageStore = nil;
Run Code Online (Sandbox Code Playgroud)

2)在imageStore中,我添加了对nil的检查:

if(delegate != nil) {
  ...call delegate method
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但无论如何都会定期崩溃.

iphone crash ios

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

Apple拒绝app 10.6,因为Facebook打开Safari登录

我发送了另一个版本的应用程序,允许用户通过Facebook登录.当然,我使用官方Facebook iOS SDK.

但苹果公司两次拒绝我的应用程序,原因如下

该应用程序在移动版Safari中打开一个用于登录的网页,然后将用户返回到该应用程序.用户应该能够在不首先打开Safari的情况下登录.

我试图获得更多信息,评论家的答案是:

感谢您的答复.我们审核了您的应用版本3.2.1,当用户点击Facebook登录时,用户将被带到移动版Safari,然后返回应用.

它提供了糟糕的用户体验,并且不符合指南.

感谢您的答复.允许用户在应用程序内登录而不重定向到移动Safari是合适的.

为什么只有我的应用程序出现此错误,当数十个应用程序以这种方式使用Facebook iOS SDK并且不会被拒绝?

有没有办法在Facebook iOS SDK中打开应用程序内的登录页面?

itunesconnect ios facebook-ios-sdk

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

标签 统计

ios ×2

crash ×1

facebook-ios-sdk ×1

iphone ×1

itunesconnect ×1