小编Nik*_*een的帖子

如何在iOS中通过ChartBoost显示"更多游戏"页面?

我正在尝试将ChartBoost集成到我的应用中,单个广告显示正常.

这是初始设置:

ChartBoost *cb = [ChartBoost sharedChartBoost];
cb.delegate = self;
cb.appId = CHARBOOST_APP_ID;
cb.appSignature = CHARBOOST_APP_SIGNATURE;

[cb showInterstitial];
Run Code Online (Sandbox Code Playgroud)

但是,当我试图显示"更多应用程序"页面时,使用ChartBoost教程,我没有得到响应.

-(IBAction) switchToMoreGames: (id) sender{
    ChartBoost* cb = [ChartBoost sharedChartBoost];
    cb.delegate = self;
    [cb cacheMoreApps];
    [cb showMoreApps];
}
Run Code Online (Sandbox Code Playgroud)

我非常感谢能得到的任何帮助,提前谢谢!

ads ios chartboost

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

UIImageWriteToSavedPhotosAlbum在iOS 6 iPad 3中不起作用

我正在使用下一个功能在我的应用中保存照片:

 UIImageWriteToSavedPhotosAlbum(pngImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
Run Code Online (Sandbox Code Playgroud)

它适用于iOS 5.1.1设备和iPod/iPhone iOS 6.0设备.

但奇怪的是,使用iOS 6.0的iPad 3无法使用照片保存并返回以下错误:

错误域= ALAssetsLibraryErrorDomain代码= -3310"数据不可用"UserInfo = 0x1cd6afc0 {NSLocalizedRecoverySuggestion =启动照片应用程序,NSUnderlyingError = 0x1cdaa140"数据不可用",NSLocalizedDescription =数据不可用}

有没有人遇到这个问题,有什么方法可以解决它?

xcode photo uiimage ipad-3 ios6

12
推荐指数
2
解决办法
6252
查看次数

禁用UI旋转时AVCaptureVideoPreviewLayer方向错误

我有一个AVCaptureVideoPreviewLayer实例添加到视图控制器视图层次结构.

- (void) loadView {
   ...

   self.previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:nil];
   self.previewLayer.frame = self.view.bounds;
   self.previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

   [self.view.layer addSublayer: _previewLayer];

   // adding other UI elements
   ...
}

...

- (void) _setupPreviewLayerWithSession: (AVCaptureSession*) captureSession
{
   self.previewLayer.session = self.captureManager.captureSession;
   self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationLandscapeRight;
}
Run Code Online (Sandbox Code Playgroud)

图层框架在-viewDidLayoutSubviews方法中更新.视图控制器方向被锁定UIInterfaceOrientationMaskLandscapeRight.

问题如下:

  1. 该设备保持横向
  2. 视图控制器以模态方式呈现 - 视频层正确显示. 正确的方向
  3. 然后锁定设备并在锁定设备时将设备旋转到纵向.
  4. 然后,设备在仍然处于纵向方向时被解锁,并且几秒钟后,视频层被显示为旋转90度.但是,视频层的帧是正确的.所有其他UI元素都正确显示.几秒钟后,图层会捕捉到正确的方向.请在下面找到图层和UI元素的边界 方向不正确

我尝试将视频图层方向更新为以下(没有结果):

  • 订阅AVCaptureSessionDidStartRunningNotificationUIApplicationDidBecomeActiveNotification通知
  • 调用-viewWillTransitionToSize:withTransitionCoordinator:方法时调用更新
  • -viewWillAppear:

该问题似乎与视频层方向本身无关,而是与查看层次结构布局有关.

更新:

正如所建议的那样,我也尝试更新设备方向更改的视频图层方向,但没有帮助.

我还注意到,问题主要发生在应用程序启动后,屏幕首次出现.在同一会话期间的后续屏幕演示中,问题的重现率非常低(类似于1/20).

objective-c rotation avfoundation ios avcapturesession

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

MPMoviePlayerController频繁停止

我正在使用MPMoviePlayerController播放不太大的远程mp4文件,每个文件大约20 - 30 MB.这就是播放器的设置方式:

player.movieSourceType = MPMovieSourceTypeFile;
player.shouldAutoplay  = YES;
Run Code Online (Sandbox Code Playgroud)

问题是播放器经常停止以下控制台输出:

Took background task assertion ... for playback stall   // stops
Ending background task assertion ... for playback stall // resumes
Run Code Online (Sandbox Code Playgroud)

我可能已经把这种行为视为理所当然,但另一方面,当我尝试在其他流媒体播放器(例如GoodPlayer)中播放视频时 - 它播放得很好而且永远不会停止.所以问题在于我的方法本身,而不是在Internet连接中.

有没有办法让MPMoviePlayerController无缝加载,还是我必须更改我的应用程序中使用的组件?如果是,您会推荐哪些?

video mpmovieplayercontroller video-streaming ios

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

RxSwift:链接几个动作

让我们假设我们有一个AnObject实例数组,需要执行以下一系列操作:

  • 通过单独的调用将对象发送到后端
  • 在步骤1完成后,将该数组批量存储到DB
  • 在第2步完成后,对每个项目进行额外处理

并且我们只想在执行所有这些步骤后(或者出现错误)才接收信号.通过RxSwift实现这一目标的正确方法是什么?它实际上可行吗?

请在下面找到我的原型功能.不幸的是我没有提供有效的链接代码示例,所以没有什么可以演示的.

func makeAPIRequest(object: AnObject) -> Observable<Void> {
    ...
}

func storeData(data: [AnObject]) -> Observable<Void> {
    ...
}

func additionalProcessing(object: AnObject) -> Observable<Void> { 
    ...
} 

func submitData()
{
   let data: [AnObject] = ...;

   let apiOperations = data.map{ makeAPIRequest($0) };
   let storageOperation = storeData(data);
   let processingOperations = data.map{ additionalProcessing($0) };

   ... // some code to chain steps 1-3
   .subscribe { (event) -> Void in
       // should be called when operations from step …
Run Code Online (Sandbox Code Playgroud)

method-chaining chaining swift rx-swift

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

UIDocument openWithCompletionHandler:崩溃

我在我的项目中使用Core Data,并在以下代码部分中遇到罕见的崩溃

 -(void) useDocument{
     AFFormsCoreDataEngine* engine = [AFFormsCoreDataEngine sharedInstance];
     if (![[NSFileManager defaultManager] fileExistsAtPath: [engine.formsDatabase.fileURL path]])
     {
         [engine.formsDatabase saveToURL: engine.formsDatabase.fileURL forSaveOperation: UIDocumentSaveForCreating completionHandler: ^(BOOL success){
            // setup
         }];
    }
    else if (engine.formsDatabase.documentState == UIDocumentStateClosed)
    {
        [engine.formsDatabase openWithCompletionHandler: ^(BOOL success){
             // setup
        }];
    }
    else if (engine.formsDatabase.documentState == UIDocumentStateNormal)
    {
         // setup
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是崩溃日志所说的:

Last Exception Backtrace:
0   CoreFoundation                  0x371fd88f __exceptionPreprocess + 163
1   libobjc.A.dylib                 0x31272259 objc_exception_throw + 33
2   CoreFoundation                  0x371fd789 +[NSException raise:format:] + 1
3   Foundation                      0x32ce83a3 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] …
Run Code Online (Sandbox Code Playgroud)

crash core-data ios uidocument

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

覆盖NSSearchField"清除字段"行为

我需要覆盖NSSearchField当您使用"清除"按钮清除字段内容时发生的操作.

默认触发的选择器是私有的:_searchFieldCancel.

[UPDATE]

好的,我找到了解决方案.

但是,如何在单击"清除"按钮时阻止searchField重新启动第一响应者?

cocoa overriding nscell nssearchfield

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