小编Nik*_*414的帖子

使用ios进行HTTP直播

我的应用程序被苹果拒绝,他们给出了一个理由

我们发现您的应用不使用HTTP实时流媒体协议(基线流为64 kbps)来广播流式视频

然后我搜索解决方案和互联网上的所有解决方案建议我必须使用.U8F8和.ts扩展名进行直播,但我的应用程序有mp4格式.我已经用于MPMoviePlayerController流媒体了.

所以我的问题是:

  1. 我必须将mp4视频转换为M8U8吗?
  2. 我必须使用MPMoviePlayer吗?
  3. 我可以在运行时将mp4视频转换为M8U8格式以及如何实现实时流式传输
  4. 是否有可用于HTTP直播的示例代码?

提前致谢.

iphone http-live-streaming

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

如何将所有MFI devies列入iOS应用程序?

我想显示所有MFI通过的苹果设备的列表,这些设备之前没有从iOS设置配对.

我可以使用以下代码列出连接的设备:

NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]

                               connectedAccessories];
Run Code Online (Sandbox Code Playgroud)

所以我的查询是:

  1. 我可以使用"外部附件"框架扫描所有可用的未配对的MFI设备到iOS应用程序,然后我可以从iOS应用程序配对它们.

请帮我把它缩短.

非常感谢.....

external-accessory ios mfi

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

FMDB:在ios应用程序的整个生命周期中,它是否仍然是良好的开放数据库?

我对FMDB包装类的数据库打开和关闭操作感到困惑.

如果我在AppDelegate类的applicationDidFinishLoading方法中打开数据库并且在应用程序终止之前不关闭,是否会产生问题?

谢谢.

fmdb ios

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

如何从蓝牙服务规范中识别出UUID?

目前我正在研究心率监测器,我发现"2A37"是用于从hrm设备获取心率数据的uuid.然后我搜索了很多,但我没有找到,为什么我应该使用"2A37"而不是其他获得心率数据.

我已经浏览了蓝牙网站下面链接的信息,但我仍然感到困惑.

https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx.

任何人都可以让我明白我如何决定不同的uuids为不同的服务.

示例:假设我需要从hrm设备获取电池数据,然后从蓝牙服务信息中如何找到电池服务数据的UUID.

提前致谢.

service uuid bluetooth-lowenergy

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

Geofence iOS8:需要iOS Geofencing的后台模式

我在我的应用中使用了地理围栏.

地理围栏功能描述:

应用程序在进入或退出该区域时有两种类型的功能:

  1. 重置围栏:如果用户将进入该区域并且该区域具有重置围栏的功能,那么app将调用一个Web服务并获取新的围栏列表.此功能也应该在后台模式下工作.

  2. 应用程序打开:如果用户将进入该区域并且该区域具有app_open的功能,那么应用程序将

     *a. Show alert, if the app is in foreground mode*
     *b. Show notification, if the app is in background mode*
    
    Run Code Online (Sandbox Code Playgroud)

我已经使用区域监控来实现此功能,并且也不希望使用显着的位置更改,因为应用程序设置了大约100到200米半径的围栏.

现在我的问题是,

  1. 我应该使用后台模式"应用寄存器进行位置更新"来监控区域交叉
  2. 我使用下面的代码在后台模式下调用'reset fence'的web服务.

    - (void)beginBackgroundUpdateTask {self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ {[self endBackgroundUpdateTask]; }]; }

    - (void)endBackgroundUpdateTask {[[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask]; self.backgroundUpdateTask = UIBackgroundTaskInvalid; }

因此,我应该在[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandle中应用info.plist中的任何设置.

请进一步指导我.我在互联网上搜索过很多但仍未找到上述两个问题的具体答案.

注意:由于后台模式"位置更新",苹果已拒绝该应用.请建议我苹果不会拒绝该应用程序的方式.

以下是原因.

2.16:多任务应用程序只能将后台服务用于其预期目的:VoIP,音频播放,位置,任务完成,本地通知等.----- 2.16 -----我们发现您的应用程序使用后台模式但不包括要求该模式持久运行的功能.此行为不符合App Store审查指南.我们注意到您的应用程序在Info.plist中的UIBackgroundModes键中声明了对位置的支持,但不包括需要持久位置的功能.在应用程序处于后台时添加需要持续使用实时位置更新的功能或从UIBackgroundModes键中删除"位置"设置是合适的.如果您的应用程序不需要持久的实时位置更新,我们建议您使用重要更改位置服务或区域监控位置服务.

非常感谢提前.

background-process ios geofencing

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

Obj-c表达式错误 - 二进制表达式的操作数无效('CGFloat'(又名'double'))

我已经回顾了相同类型的问题而不是堆栈溢出,但这是不同的.这里我想用整数模数加倍值.编译器给出了以下错误.

我需要获得scrollview内容偏移的模数值.为此,我写了下面的代码,但它给了我错误'二进制表达式的无效操作数('CGFloat'(又名'双'))'.任何人请帮忙.

scrollView.contentOffset.x % 1024.00;
Run Code Online (Sandbox Code Playgroud)

提前致谢.

expression objective-c operands ios

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