我正在使用a WKWebView在我的应用中显示全屏YouTube视频,并使用AVCaptureSession在YouTube上浏览和播放视频时在后台录制音频和视频.按下按钮时捕获会话开始.但是,在录制过程中,当选择YouTube视频并开始全屏播放时,它会立即意外结束录制,因为会调用处理录制结束的委托方法.
请有人向我解释如何解决这个问题?不太确定这是否完全相关,但是我收到了错误消息_BSMachError: (os/kern) invalid capability (20) _BSMachError: (os/kern) invalid name (15) and Unable to simultaneously satisfy constraints.,尽管后者似乎引用了一个单独的AutoLayout问题.任何帮助将不胜感激.
此外,我尝试使用UIWebView而不是WKWebView.当我使用时UIWebView,问题是视频录制时YouTube视频甚至无法播放.它将在黑屏上打开并保持在0:00.
这是按下以开始录制的按钮.
- (void) buttonClickedStart:(UIButton*)sender //button to start/end recording {
if (!WeAreRecording) {
[self setupVideoCapture];
//----- START RECORDING -----
WeAreRecording = YES;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];
//Create temporary URL to record the video to for later viewing
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = [paths objectAtIndex:0];
NSString *outputPath = [[NSString alloc] …Run Code Online (Sandbox Code Playgroud) 这只是我尝试过的一些非常标准的代码.我想要做的是在一张非常稳定的肖像图像上放置两个眼球和一张嘴.这是我尝试过的:
CIImage *image = [CIImage imageWithCGImage: [tim.image CGImage]];
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options: [NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey: CIDetectorAccuracy]];
NSArray *feats = [detector featuresInImage: image];
for (CIFaceFeature *faceFeature in feats) {
if (faceFeature.hasLeftEyePosition) {
eyeLeft.center = faceFeature.leftEyePosition;
}
if (faceFeature.hasRightEyePosition) {
eyeRight.center = faceFeature.rightEyePosition;
}
if (faceFeature.hasMouthPosition) {
moth.center = faceFeature.mouthPosition;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我的图像确实翻译了他们的中心,但是到了一个非常尴尬的位置(AKA不是正确的位置)!虽然它们确实以正确的距离关系出现,但除了嘴巴在顶部.这意味着:有:
一个嘴巴在上面,几厘米以下有两个眼球,相距几厘米.因此根据图像视图正确缩放它们,它们只是在错误的位置
我有一个名为vc0的视图控制器,它的显示方式如下:
[self presentViewController: vc1 animated: YES completion: nil];
Run Code Online (Sandbox Code Playgroud)
在vc1中,我有一个按钮来呈现另一个视图控制器:
[self presentViewController: vc2 animated: YES completion: nil];
Run Code Online (Sandbox Code Playgroud)
然后在vc2中,我有一个按钮来关闭视图控制器:
[self dismissViewControllerAnimated:YES completion: ^{
// over here I call one method in vc1
}
Run Code Online (Sandbox Code Playgroud)
并按预期方式将其返回到vc1。.但是,在vc1中有一个按钮可通过关闭视图控制器来返回到vc0,如下所示:
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
但是由于某种原因它无法正常工作,因此视图控制器不会退回到vc0。当我第一次展示vc1时,我可以按下按钮以关闭视图控制器,并且它可以正常工作。但是,当我按下按钮打开vc2,并且当我将vc2退回到vc1,然后我按下按钮以关闭视图控制器时,那是不起作用的。
很抱歉,如果这个问题还不清楚,我很难说出我想说的话。
还有一件事:
我尝试替换dismissViewControllerAnimated:vc1以手动显示vc0,但随后在控制台中收到一条日志,提示我正在尝试显示vc0,但vc1的视图不在窗口层次结构中。这是什么意思?
感谢帮助!
更新:
在这种情况下,VC0是MenuMileIndexViewController-VC1是FlightViewController-VC2是BookmarksTableViewController
这里涉及的代码:
MenuMileIndexViewController:
- (IBAction)goToOriginPage {
FlightRecorder *origin = [[FlightRecorder alloc] init];
[self presentViewController:origin animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
飞行记录仪:
- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
[self bringUpBookmarkkTable];
}
- (void) bringUpBookmarkkTable {
BookmarkTableViewController *bookmarkTVC = …Run Code Online (Sandbox Code Playgroud) 如何以英寸为单位以编程方式获取屏幕尺寸(例如iPhone 4,3.5英寸).
我通过检测iPhone/iPad模型找到了一种方法,但硬编码不是我想要的,所以我不是那样的.
我提出了一个棘手的问题,我不确定如何处理.所以,我已经制定了一个包含字典的plist,其中包含两个对象:
但是,只有210个国家/事实.
并且,我已经能够搜索许多国家的列表,其中可能存在或不存在事实.但这是我的问题,我正在使用名为Geonames的网络服务,用户可以使用搜索栏显示控制器来搜索国家/地区,这些与插件大小配对的plist国家名称实际上来自维基百科文章.
现在,在Geonames和维基百科的plist中命名的国家可能会略有不同,可能有一个额外的空间,一个额外的短划线,一个额外的字母.这就是为什么我想看看geoname国家字符串是否与plist中的字符串非常相似.
所以,这不是isEqualToString:因为它发现它是否准确,compare:方法是否有效?
我怎么处理这个?这是一个例子:
Geoname返回(不是真正的国家只是一个例子):
但是plist可能会返回:
所以增加1个't',但还有其他情况.我希望这些可以比较精确,或者至少相似,所以我可以将它们视为匹配.
有没有可以指向我的教程,资源,项目等?
谢谢!再见!
如何根据正确书写的国家/地区名称提取CLRegion或CLLocationCoordinate2D或纬度/经度点?会CLGeocoder像这样工作:
CLGeocoder *geoCode = [[CLGeocoder alloc] init];
[geoCode geocodeAddressString:@"Singapore" completionHandler:^(NSArray *placemarks, NSError *error) {
if (!error) {
CLPlacemark *place = [placemarks objectAtIndex:0];
NSLog(@"%i,%i", place.//what would i put here);
}
}];
Run Code Online (Sandbox Code Playgroud)
CLPlacemark告诉地址的变量是什么?
基本上我想在我的应用程序中做的是有一个UISearchBar,当我写入时,将反馈位置结果并将其填充到出现的UITableView中.我在这个网站上看到了另外一个问题:
但这真的没有帮助我,根本没有回答帮助我,而且他们很模糊.
所以,我的问题是.您知道某些应用程序可能需要输入城市或国家/地区,但用户可能无法完全拼写,因此根据您的UISearchBar结果,它会显示带有建议城市的TableView.所以说我即将写新加坡,我不知道它是如何拼写的.所以我写道:
'唱'
而BAM,下面的UITableView会弹出不同的选项/单元格标题,包括一个暗示"新加坡"的单元格.然后我点击那个单元格,然后我的搜索栏自动填充"新加坡".以下是我想在新加坡应用商店中使用名为"iChangi"的应用程序做的屏幕截图示例:

所以我理解我应该实现UISearchBar文本更改的委托,但我想知道的是有一个API或数据库,我可以查询反馈建议的城市?我将如何解决这个问题,你能给我一个关于它的教程,或者简单地说几步.
我有一个应用程序记录您旅行的里程数.我想通过使用不同的社交网络来共享数据,例如我使用了Facebook SDK,用户可以发布状态更新.我想在整个帖子中宣传我的应用程序(当然),以及呈现数据,但我想将该帖子的查看者引导到商店的应用程序.所以,即使我还没有发布应用程序,我怎样才能找到/检索应用程序链接?
我要做的是检索城市统计数据.很像中情局世界概况.但是,我想要一个API,数据库或数据集,我可以查询并获得结果.此外,我实际上会优先使用a UIWebView并加载已经搜索和显示的统计信息的网站.比如TheWeatherChannel,我可以用给定的坐标形成一个URL.但是像CIA World Factbook这样的网站每个国家都有一个独特的双字母代码,这些代码不是特定的格式.
另外,我想获得CITY统计数据,其中包括:
和更多!我甚至想知道国家使用的插头类型.但是,我不知道如何以及在何处寻找这样的信息.
请帮帮我...
我有三个阵列.第一个数组包含字符串,与第二个数组相同,但第三个包含字符串NSNumber.无论如何,回到主题...我怎样才能创建一个csv(这是一个excel /数字)文件,就像电子表格一样包含这些数据.可能吗?
这些是我的三个数组:
locationArray -包含许多字符串dateArray -包含许多字符串milesArray -包含了很多NSNumber的
但是每个数组都包含相同数量的对象(例如在表视图中),您可以将数据拼凑在一起NSDictionary.它就像一条链子.
那么它看起来像这样:
NSDictionary *firstFlight = [NSDictionary dictionaryWithObjectsAndKeys:[locationArray objectAtIndex: 0], @"FlightName", [dateArray objectAtIndex: 0], @"FlightDate", [milesArray objectAtIndex: 0], @"FlightMiles", nil];
Run Code Online (Sandbox Code Playgroud)
该字典将包含一个航班(此测试应用程序的功能是记录航班).因此,如果我使用for循环枚举这个并objectAtIndex:用循环数字替换,我可以获得许多航班词典.
现在您已了解我的数据结构的工作原理.我怎样才能创建一个excel /数字/电子表格CSV文件,例如这样(只是一个屏幕截图):
(里程数据刚刚建成)

ios ×10
objective-c ×9
xcode ×7
iphone ×4
app-store ×1
arrays ×1
avfoundation ×1
city ×1
compare ×1
hyperlink ×1
mapkit ×1
nsstring ×1
screen ×1
screen-size ×1
similarity ×1
uisearchbar ×1
uitableview ×1
wkwebview ×1