小编Til*_*ill的帖子

AVPlayer和MPMoviePlayerController的区别

我正在开发一个需要播放视频的iPhone应用程序.到目前为止,我了解到实现这一目标至少有两个API; AVPlayerMPMoviePlayerController.

有哪些主要区别?

mpmovieplayercontroller avfoundation ios4 ios avplayer

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

我在iOS 6.0的Xcode 4.5中没有要求的日志消息

自从我将Xcode更新到4.5版并开始为iOS 6构建这样的日志消息后不断出现:

ADDRESPONSE - ADDING TO MEMORY ONLY
Run Code Online (Sandbox Code Playgroud)

我从来没有要求过(至少没有意识到).

我需要做些什么来阻止这些消息?它们的起源是什么?

xcode objective-c ios6

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

如何从appDelegate访问我的viewController?iOS版

我有一个iOS应用程序,我在xCode中创建为"基于视图的应用程序".我只有一个viewController,但它会自动显示,我看不到任何代码将它与我的appDelegate联系起来.我需要将数据从我的appDelegate传递到我的viewController,但不知道如何解决这个问题.

我的app delegate.h:

#import <UIKit/UIKit.h>


@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) NSDictionary *queryStrings;

@end
Run Code Online (Sandbox Code Playgroud)

另外,appDidFinishLoadingWithOptions:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [[JMC sharedInstance] configureJiraConnect:@"https://cmsmech.atlassian.net/"           projectKey:@"WTUPLOAD" apiKey:@"7fc060e1-a795-4135-89c6-a7e8e64c4b13"];

    if ([launchOptions objectForKey:UIApplicationLaunchOptionsURLKey] != nil) {
        NSURL *url = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];
        NSLog(@"url received: %@", url);
        NSLog(@"query string: %@", [url query]);
        NSLog(@"host: %@", [url host]);
        NSLog(@"url path: %@", [url path]);
        queryStrings = [self parseQueryString:[url query]];
        NSLog(@"query dictionary: %@", queryStrings); …
Run Code Online (Sandbox Code Playgroud)

storyboard uiviewcontroller uikit ios

62
推荐指数
5
解决办法
8万
查看次数

在UITableView中选择First Row作为默认值

我有一个基于视图的应用程序,我正在将一个tableview作为子视图添加到主视图中.我采取UITableViewDelegate了响应表方法.一切正常,但我想选择第一行或UITableView默认选择(突出显示).

请帮助我,我需要什么代码以及我需要放在哪里.

uitableview uikit ios

54
推荐指数
7
解决办法
6万
查看次数

如何将变量参数传递给另一个方法?

我用Google搜索并了解了如何使用变量参数.但我想将我的变量参数传递给另一个方法.我得到错误.怎么做 ?

-(void) aMethod:(NSString *) a, ... {
  [self anotherMethod:a]; 
  // i m doing this but getting error. how to pass complete vararg to anotherMethod
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c variadic-functions ios

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

UIGestureRecognizer接收触摸,但也将其转发给UIControl

你将如何允许UIGestureRecognizerUIView接收触控事件,但也确保其他,垫层/叠加UIView也收到同样的触摸事件?

让我们说我有以下观点 - hierachie: 查看hierachie涂鸦

视图A(蓝色)和B(红色)都是同一超视图(灰色)的子视图.换句话说,他们都是兄弟姐妹,顺序决定了哪一个涵盖了另一个.

选项1:视图B(红色)具有常规UIButton作为其子视图.选项2:视图A(蓝色)具有常规UIButton作为其子视图.

给出选项1以便解释:视图A(蓝色UITapGestureRecognizer)附加了(或者甚至更多,其他UIGestureRecognizers).什么是最优雅的方法,以确保它UIButton确实接收其区域的所有接触,但视图A(蓝色)接收它的那些接触UITapGestureRecognizer

如果可能的话,解决方案不应该涉及扩展UIButton-class并手动转发按钮本身的任何事件.想象一下,视图B将包含更多控件,而不仅仅是一个按钮.所有这些控件都应该以某种方式允许视图A接收它的触摸UIGestureRecognizer.

我确实提供了两个选项,因为我不关心那些视图(A或B)中的哪一个是第一个,只要两个接收到触摸.

到目前为止,我的所有方法都突然达到了死胡同.也许自定义响应链是一个很好的解决方案?我一直认为在整个UIKit/ UIEvent/ UIResponder堆栈中必须有一个优雅的解决方案.

uiview uiresponder uigesturerecognizer ios uievent

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

NSNotificationCenter捕获并跟踪所有NSNotifications

为了更好地理解"引擎盖下"发生的事情,我希望对我的应用程序中发生的任何通知进行完整的跟踪.

像我一样天真,我尝试的第一件事就是这样注册:

我的应用程序的某个地方:

{
    [...]
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(traceNotifications:) name:nil object:nil];
    [...]
}

- (void)traceNotifications:(NSNotification *)notification
{
    NSLog(@"received notification %@", [notification name]);
}
Run Code Online (Sandbox Code Playgroud)

我实际上通过这种方式获得了许多通知.但在某些时候,应用程序确实崩溃了.堆栈跟踪显示它在realizeClass中与EXC_BAD_ACCESS崩溃,根据我的经验,它确实表明在释放后调用了某些东西.然而,我的观察对象仍然存在,它的解除分配器尚未被调用.

我试过的下一件事是设置一个断点-[NSNotificationCenter postNotification:],然后po {NSNotification *}($ebp+16)每当我的断点被困时在gdb-console内部运行.这确实揭示了一些通知,但不是我期望/希望的所有通知.例如,我的应用程序确实正确处理了方向更改,但在重新定向设备时(在模拟器中)我没有看到任何通知被捕获.

我错过了什么?有没有办法(例如工具)可靠地观察NSNotificationCenter?

谢谢你的任何提示.

iphone trace nsnotifications

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

检索在打开的图形2中对自定义对象执行自定义操作的朋友列表

我想这样做facepile使用图形API开放图2点的操作:从自定义对象和自定义对象,给我做了这个对象上这个动作的朋友(使用我的Facebook应用程序).

问题是使用FQL,我无法查询自定义对象和操作.使用图形API,我无法找到一种方法将我的朋友列表与我感兴趣的对象相交.

我能做的最好的是使用图API的批处理模式:

batch=[
  // First we get the list of friends that are using my facebook application
  { "method": "GET", "relative_url": "fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+(SELECT+uid1+FROM+friend+WHERE+uid2=me())+AND+is_app_user=1+LIMIT+0,49", "name": "friends"},
  // Then query each friend to get the list of objects that went through my namespace:testaction
  { "method": "GET", "relative_url": "{result=friends:$.data.0.uid}/namespace:testaction" },
  { "method": "GET", "relative_url": "{result=friends:$.data.1.uid}/namespace:testaction" },
  ...
  { "method": "GET", "relative_url": "{result=friends:$.data.49.uid}/namespace:testaction" }
]
Run Code Online (Sandbox Code Playgroud)

这是非常低效的,并没有完全解决我的问题,因为:

  • 我仍然必须过滤结果,只获得与我想要的对象匹配的结果
  • 如果命名空间中有大量对象:testaction,我必须经历分页,执行更多查询(我尽量减少查询次数)

你看到更好的方法吗?

api facebook-graph-api facebook-social-plugins facebook-opengraph open-graph-beta

22
推荐指数
2
解决办法
1983
查看次数

APNS错误响应包中不同状态码的含义

使用增强通知格式时,APNS在错误响应数据包中返回以下状态代码.

0   - No errors encountered
1   - Processing error
2   - Missing device token
3   - Missing topic
4   - Missing payload
5   - Invalid token size
6   - Invalid topic size
7   - Invalid payload size
8   - Invalid token
255 - None (unknown)

我想知道这些状态代码中的哪一个实际上表明该问题实际上与设备令牌有关(即:我可以将我数据库中的特定设备令牌标记为无效或无效).我确信当我收到值为8的状态代码时,我可以安全地执行此操作.此外,我非常确定状态代码2,4,5和7是什么,以及它们何时返回.

但对于其余的状态代码,我几乎处于黑暗中.Apple的网站也没有太多关于它们的信息.

任何人都可以详细了解每个状态代码.提前谢谢了.

push-notification apple-push-notifications ios

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

iOS - 表视图和表视图控制器之间有什么区别

在Xcode的Object Library中,有两个选项可用于创建表视图 - 表视图和表视图控制器.这两者之间有什么区别?何时使用它们?

uitableview uikit ios

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