在我成功进行身份验证后,我已经通过以下方法获得了用户信息.
// 1. Create a |GTLQuery| object to get people profile who are authenticated
GTLQueryPlus *query = [GTLQueryPlus queryForPeopleGetWithUserId:@"me"];
// 2. Execute the query.
[[[GPPSignIn sharedInstance] plusService] executeQuery:query completionHandler:^(GTLServiceTicket *ticket,GTLPlusPerson *gpUser,NSError *error) {
// here I've retrieved all info about users
NSLog(@"GP user first name : %@",gpUser.name.givenName);
NSLog(@"GP user last name : %@",gpUser.name.familyName);
//But don't know how extract phone number.
}];
Run Code Online (Sandbox Code Playgroud)
这个谷歌文档显示了如何通过谷歌api检索信息.但如果用户将其显示为公开,则无法查看如何提取电话号码?是否可以使用google plus api?
我需要知道什么时候NSOperationQueue从队列中删除一个操作?我有NSOperationQueue哪个列表NSOperation.从哪个位置NSOperationQueue删除队列中的操作?
因为在NSOPerationqueue完成所有操作后我需要通知.为此,我提到了 这个链接
我的应用程序在后台 播放得很好.即使我的应用程序是使用注册的方法的后台,暂停和播放也很有效AVAudioSessionInterruptionNotification.
问题到达方案的步骤:
代码:我在appdelegate中这样做. didfinishlaunching
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error: nil];
self.player = [[AVQueuePlayer alloc] initWithURL:[NSURL URLWithString:@"http://someurl.com:8040/;stream.mp3"]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAudioSessionEvent:) name:AVAudioSessionInterruptionNotification object:nil];
- (void) onAudioSessionEvent: (NSNotification *) notification
{
//Check the type of notification, especially if you are sending multiple AVAudioSession events here
NSLog(@"Interruption notification name %@", notification.name);
if ([notification.name isEqualToString:AVAudioSessionInterruptionNotification]) {
NSLog(@"Interruption …Run Code Online (Sandbox Code Playgroud) 我试图UIControl在我的视图控制器中使用自定义.我的自定义类,它UIControl为我的自定义控件创建子类并为其分配实例,并通过以下代码添加到我的视图控制器视图中
CustomControl *customControl = [[CustomControl alloc]initWithFrame:CGRectMake(44, 388, 235, 160)];
[self.view addSubview:customControl];
Run Code Online (Sandbox Code Playgroud)
然后我在实现以下委托方法 CustomControl
- (BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (BOOL) continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void) endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)cancelTrackingWithEvent:(UIEvent *)event
Run Code Online (Sandbox Code Playgroud)
我面临的问题是当我在控件内部进行跟踪时 - (void)cancelTrackingWithEvent:(UIEvent *)event在该- (BOOL) continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event方法未被调用之后调用.为什么这个方法- (void)cancelTrackingWithEvent:(UIEvent *)event被调用...
我阅读的文件说,如果由于非事件原因被取消,事件可能是零,例如从窗口中移除但无法理解确切的scernario提前感谢.
我总是只返回YES. 我实施的代表是:
- (BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event{
[super beginTrackingWithTouch:touch withEvent:event];
NSLog(@"Touch begins");
return YES;
}
- (BOOL) continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event{
[super …Run Code Online (Sandbox Code Playgroud) 我的视图控制器中有一个数组.只有在它为零时才应该分配它,否则它应该返回现有值.
Objective C等价物:
- (NSArray*)states{
if(!_states)
{
_states = //read files from json and assigned to array
}
return _states;
}
Run Code Online (Sandbox Code Playgroud)
我必须迅速实现这一目标.我尝试使用存储属性,但无法实现此目的
实现这一目标的最佳方法是什么
我有一个 UITableview,每当我重新加载表视图时,可访问性焦点都会转到随机单元格。我尝试发布如下通知以将焦点移至特定单元格
let indexPath = IndexPath.init(row: 0, section: 0)
let desiredCell = self.myTableView.cellForRow(at:indexPath)
UIAccessibility.post(notification: .layoutChanged, argument:desiredCell)
Run Code Online (Sandbox Code Playgroud)
我观察到以下问题: 发布通知将焦点移至所需行后,焦点转到随机行,然后转到所需行。
大家有没有遇到过同样的情况,或者有什么想法,请与我分享,
提前致谢。
有没有办法检查从appstore安装的其他应用程序的版本号?
注意:1.不在牢狱中的设备2.不使用第三方库。
在我的应用程序中,播放是从控制中心控制的.当在AVPlayer中进行播放时(此时播放控件在控制中心正常工作),我正在加载带有其他流媒体URL的webview.
再次完成流式传输后,我将从AVPlayer开始播放.在此之后,播放控件在控制中心显示为灰色.
我[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo用来在控制中心启用播放控制.
会出现什么问题?
在XCode5,我有这个代码
1 - (BOOL)checkValidPNGImage{
2 NSData *imagedata = [NSData dataWithContentsOfFile:self.imageFullPath];
3 if ([imagedata length] < 4)
4 return NO;
5 const char * bytes = (const char *)[imagedata bytes];
6 if (bytes[0] != 0x89 || bytes[1] != 0x50)
7 return NO;
8 if (bytes[[imagedata length] - 2] != 0x60 ||
9 bytes[[imagedata length] - 1] != 0x82)
10 return NO;
11 return YES;
12 }
Run Code Online (Sandbox Code Playgroud)
在第6行和第8行,它会收到警告
Comparison of constant 137 with expression of type 'const char' is always …Run Code Online (Sandbox Code Playgroud) 我的项目启用了ARC.我有一个类是NSObject的直接子类,我的类有一个NSArray(强引用).我怎样才能发布我的阵列?
我的理解
在ARC中无需释放物体
在dealloc方法中将nil设置为我的NSArray(强引用)
- 在viewDidUnload视图控制器中将nil设置为我的NSArray(强引用)
这是释放我的NSArray的正确方法吗?如果不是那么正确的方法是什么?
我在我的iOS应用程序中使用AVAudioPlayer,并给出了以下功能.
1.播放2.暂停3.下一个4.上一个
我的要求是,我想从控制中心提供这些功能.可能吗?
在WWDC 2015上,Apple宣布推出适用于iOS 9的"App Transport Security".为解决SSL错误并绕过App Transport Security,Apple推出了一个关键的NSAppTransportSecurity,将添加到info.plist中.我们可以在Xcode 6中使用这个键吗?
我为UISlider设置了拇指图像.拖动滑块时不会反映此图像.一旦我完成了拖动,它就会出现.
我为所有州设置了图像
[self.myslider setThumbImage:[UIImage imageNamed:kPlayerScreenHandleImage] forState:UIControlStateNormal];
[self.myslider setThumbImage:[UIImage imageNamed:kPlayerScreenHandleImage] forState:UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud) ios ×11
objective-c ×2
xcode ×2
app-store ×1
arrays ×1
avplayer ×1
google-plus ×1
ios-9-beta3 ×1
ios9 ×1
nsoperation ×1
properties ×1
swift ×1
uicontrol ×1
uislider ×1
uitableview ×1
xcode6 ×1
xcode7 ×1