小编Kas*_*nck的帖子

"[App]"想要访问Twitter帐户警报未在iOS 6中显示

我正在使用TWTweetComposeViewController访问用户的Twitter帐户,他/她已在设置 - > Twitter中添加了该帐户.当应用程序尝试访问Twitter帐户时,它应该使用类似于此的消息来提示警报:

"[AppName] Would Like Access to Twitter Accounts"
Run Code Online (Sandbox Code Playgroud)

您可以点击"不允许"或"确定".我想这是操作系统本身显示的警报,因为点击"确定"实际上可以访问推特.

当我在iOS 5.x设备上测试时会显示上述警报,但在iOS 6设备上测试时则不是这种情况.我希望在发送以下消息时显示警报,并且我还没有在设置中获得我对Twitter的应用访问权限:

[TWTweetComposeViewController canSendTweet]
Run Code Online (Sandbox Code Playgroud)

如上所述,它不会发生.有谁知道这是iOS 6中的已知错误吗?我一直无法在SO上找到任何帖子,因为我找不到其他不同行为的理由我认为这是一个错误.

仅供参考,我在以下两个设备上测试:

  • 带有iOS 5.1的iPhone 4
  • 带有iOS 6.0的iPhone 4

更新

我使用DETweetComposeViewController,它以下列方式检查iOS 5:

+ (BOOL)de_isIOS5
{
    return (NSClassFromString(@"NSJSONSerialization") != nil);
}
Run Code Online (Sandbox Code Playgroud)

但由于NSJSONSerialization类也在iOS 6中表示,因此不应该这样.

twitter ios6

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

RestKit一对多反向关系(没有CoreData)

建立

想象一下作者和书之间的以下关系:

[Author] -- has many --> [Book]
Run Code Online (Sandbox Code Playgroud)

使用restkit,我有一个Author模型和Book模型,我创建了Author和Book之间的关系,如下所示:

[authorMapping hasMany:@"books" withMapping:booksMapping];
Run Code Online (Sandbox Code Playgroud)

我现在可以通过作者的财产访问作者的书籍:

@property (strong, nonatomic) NSSet *books;
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.同样,我想通过它的属性访问一本书的作者:

@property (weak, nonatomic) Author *author;
Run Code Online (Sandbox Code Playgroud)

问题

这就是问题的起点.为了实现这种反向关系,我添加了以下内容:

[booksMapping hasOne:@"author" withMapping:authorMapping];
Run Code Online (Sandbox Code Playgroud)

这导致每个映射递归地相互调用,直到程序死亡.一点都不好.检查文档我发现hasOne/Many:withMapping:方法只是调用mapKeyPath:toRelationShip:withMapping:所以那里没有真正的替代品.此外,添加映射如下:

[bookMapping mapKeyPath:@"author" toAttribute:@"author"];
Run Code Online (Sandbox Code Playgroud)

很明显,只是创建映射但实际上并没有将Author对象映射到Book的author属性.


如何使用RestKit在两个或多个模型之间创建反向一对多关系,而不是CoreData?

iphone one-to-many ios restkit

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

iOS设备上的低级网络流量访问

我正在寻找一种开发iOS的方法,我可以在其中访问所有网络流量(我的意思是系统范围)并通过我的应用程序进行路由.像代理服务器之类的东西,但请注意我想强制路由并访问所有流量,而不仅仅是Web请求(类似VPN连接所做的事情).

我认为这可能会超出Apple的限制App Store Guidelines.任何VPN API都可以访问吗?关于无证件和私有API的任何实际建议或描述都非常感谢.

PS:这篇文章可能有助于理解我在寻找什么;

iphone vpn proxy networking ios

5
推荐指数
2
解决办法
1138
查看次数

iOS中的离线通知

根据Apple.com上的APNS参考,iOS设备在离线/未连接到3G或WiFi或类似设备时无法接收通知.昨天我发现了一个应用程序(Pillboxie)声称即使他们处于脱机状态也可以通知用户.我引用:

"为了使用不需要网络连接的提醒技术,Pillboxie只能在运行iOS 4.0或更高版本的设备上运行."

"不需要网络连接!"

这两个引号都是从App Store中的App Description复制的.

我没有成功地找出它是如何工作的,以及它是否像APNS一样可靠.有没有人知道上面引用中提到的离线noficiation服务?

iphone push-notification ios uilocalnotification

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

为什么class_respondsToSelector和respondsToSelector在发送给Class时表现不同?

我花了相当长的一段时间,试图找出如何class_respondsToSelector以及respondsToSelector会产生不同的结果.考虑以下课程:

@interface Dummy : NSObject
- (void)test;
@end

@implementation Dummy
- (void)test {}
@end
Run Code Online (Sandbox Code Playgroud)

我的情况是我尝试确定一个类是否响应某个类方法.这件作品再现了这个问题:

Class class = [Dummy class];
if (class_respondsToSelector(class, @selector(test)))
    NSLog(@"class_respondsToSelector: YES");
else
    NSLog(@"class_respondsToSelector: NO");
if ([class respondsToSelector:@selector(test)])
    NSLog(@"respondsToSelector: YES");
else
    NSLog(@"respondsToSelector: NO");
Run Code Online (Sandbox Code Playgroud)

如果我删除声明和实现-test,上面的输出是NO和NO按预期.但是,在读取上面(包括-test)时运行它,产生的输出如下:

class_respondsToSelector:是的

respondsToSelector:没有

文档没有说明是否respondsToSelector仅适用于实例,只是它指示接收器是否实现...,因此我无法确定这是否是正确的行为.我错过了什么吗?

更新

Graham Lee提供了这个链接,对这个问题进行了很好的讨论.

objective-c objective-c-runtime selector

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

NSPredicate与数字匹配

我有一个数据数组,我想从中提取包含数字和数字的行.行的示例:

15,+ 2,'',7,9,+ 21

(''代表一个或多个空格).

在这种情况下,我想只提取15,7和9.我使用谓词通过以下方式:

NSString *pattern = @"[^0-9]";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
if (![predicate evaluateWithObject:myStringToMatch])
// Extract ...
Run Code Online (Sandbox Code Playgroud)

我使用在线正则表达式测试器测试了我的模式,发现[^ 0-9]确实与数字0-9匹配.但是,当我运行上面的代码时,它只匹配空格而不是例如+2,我很确定它应该这样做.为了澄清,myStringToMatch是一个NSString对象.

我不知道为什么它与我的模式不符.谁能给我一个暗示我做错了什么?

谢谢.

regex nspredicate ios

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