我正在构建家庭自动化系统,我选择iPad作为主要的集线器/桥接设备来控制大量的蓝牙设备(一些使用RFDuino定制).
iPad(iOS 8.4.1)安装在墙上并一直插入充电器.
我需要选择正确的方法让应用程序一直运行来控制设备并接收更新,触发事件等.
问题是:有没有办法可以屏幕禁用屏幕?将其调暗不够好; 最好是屏幕关闭,就像锁定的设备状态一样.
简单来说,我可以使用黑屏保护程序吗?
如果上面的答案是否定的:有没有办法强制应用程序永远在后台运行?
这里有一点需要强调.此应用程序不会转到Apple Store,因此解决方案可能是一个肮脏的解决方法
提前致谢
到目前为止测试:
let backgroundQueue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND,0)
func applicationDidEnterBackground(application: UIApplication) {
application.beginBackgroundTaskWithName("myBgTask", expirationHandler: nil)
dispatch_async(self.backgroundQueue, myBackgroundTask)
}
func myBackgroundTask() {
NSThread.sleepForTimeInterval(1)
dispatch_async(self.backgroundQueue, myBackgroundTask)
}
Run Code Online (Sandbox Code Playgroud)
此方法使应用程序仅在后台运行3分钟.
不停寻找...
我正在尝试在Swift中使用RFDuino Objective-C库.这听起来很简单,我之前从Swift类中调用过Objective-C,没问题.然而这次我撞到了砖墙.
创建的头文件.添加了头文件.Swift可以看到类没问题.项目编译好.
构建过程中的问题出现在我尝试调用任何Objective类之后
例如:
override func viewDidLoad() {
super.viewDidLoad()
let rfDuinoManager: RFduinoManager = RFduinoManager.sharedRFduinoManager()
}
Run Code Online (Sandbox Code Playgroud)
架构x86_64的未定义符号:"_ OBJC_CLASS _ $ _ RFduinoManager",引自:ViewController.o中的__TMaCSo14RFduinoManager:ld:未找到架构x86_64 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我不知道我在这里失踪了什么.链接到这里的项目. https://www.dropbox.com/s/rza1ce01g4q5lp6/SmartHomeHub-stackoverflow.zip?dl=0
在此先感谢您的帮助.老实说现在失去了希望并考虑将整个库重写为Swift
是否可以扩展新的单位ui组件,例如变换组件?因为当我尝试扩展按钮而不是转换组件时没有任何反应
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Transform))]
public class CustomTransform : Editor
{
public override void OnInspectorGUI()
{
}
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的项目,其中约.在场景中创建了7000个立方体(使用VR摄像头),但问题是当我移动摄像头以查看所有立方体时,FPS变得非常糟糕,类似于5-6帧.我的PC是i7与GTX 1070,我认为它必须毫无问题地绘制数十万个立方体.真的,我看到了我的世界,看起来没有问题画立方体))
所以问题是可以优化场景,以便所有立方体都被绘制成一个调用或其他东西以提供良好的性能吗?
我实际上所有的立方体都是静态的,没有纹理只有标准材料......
我正在使用默认的Directional Light,因为它可以很好地处理光线,所以最好不要更改标准着色器.
以下是我如何生成多维数据集:
private void AddCube(Vector3 coords)
{
var particle = (Transform)MonoBehaviour.Instantiate(prototype.transform, holder.transform);
SetScale(particle);
SetPosition(particle, coords);
cubes.Add(particle.gameObject);
particle.gameObject.isStatic = true;
}
private void SetScale(Transform particle)
{
particle.localScale = new Vector3(Scale, Scale, Scale);
}
private void SetPosition(Transform particle, Vector3 coords)
{
particle.position = coords;
}
Run Code Online (Sandbox Code Playgroud)
这是统计数据的屏幕截图:
我有41 fps,因为我将相机移离立方体,以便为统计面板提供干净的背景.实际上,在我制作立方体"静态"后,FPS取决于屏幕上是否可见的立方体.
Unity 5.1.2 iOS 8.4
我注意到iPhone 6 Plus存在大量性能问题
测试iPhone 4s,5,6的性能看起来是运行固体60 FPS
在iPhone 6 Plus上,由于某些原因,性能下降到大约22 FPS.Unity Profiler只显示更长的渲染时间.这是iPhone 6 Plus的日志
注意平均帧时间更长,最大帧时间是iPhone 4s的两倍?
我想知道这是不是我或Unity的bug,可能是Metal?
ios ×2
swift ×2
c# ×1
debugging ×1
ipad ×1
iphone ×1
macos ×1
objective-c ×1
performance ×1
unity3d-gui ×1
xcode ×1
xcode6 ×1