小编fin*_*tic的帖子

iOS 10 - 某些iOS设备中不显示WLAN访问设置

我们的应用程序使用WLAN与无线设备通信.当我们的应用程序安装在iOS 10中时.有时,udp套接字不起作用.原因是,在iOS 10中,他们在您的应用程序下添加了一个新设置或权限,允许用户打开或关闭WLAN或蜂窝数据的用户.

以下内容将出现在应用程序的设置中:

在此输入图像描述

当我点击无线...它将带我到这个UI:

在此输入图像描述

允许WLAN使用后.该应用程序将正常工作.

现在,问题是,有时,或者在运行iOS 10的某些设备中,我刚刚显示的设置没有出现(我指的是第一张图片上显示的设置).那么,我有什么办法可以让这些设置始终出现吗?似乎有时iOS系统无法识别我的应用程序正在使用无线数据.这将导致我的应用程序永远不会永远使用WLAN.

ios ios10

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

如何将消息发布到Mosquitto MQTT中的特定客户端

目前,我们有一个通过MQTT控制多个设备的应用程序.每个设备都订阅一个以其设备ID命名的唯一主题.例如,设备A具有设备ID 123,因此它将订阅主题123.然后,如果应用想要将控制消息发布到设备A,则它将发布名为123的主题,这是设备A的设备ID.

通过这样做,如果我们有1000个设备,那么我们将有1000个主题.这是一个非常糟糕的设计.因此,我们可能会考虑通过设置将接收主题的客户端ID将主题发布到特定客户端,因为连接到代理的每个客户端都必须设置客户端ID.但是,我们没有找到任何允许发布到特定客户端的方法.似乎MQTT没有处理这样的事情.它只发布给订阅同一主题的客户.

那么,我们可以采取其他方式来实现一个主题,但仍然能够向特定客户发布消息吗?

谢谢!

mqtt

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

iOS-如何沿路径绘制渐变

这是我想要达到的效果:

在此处输入图片说明

这就是我现在所拥有的效果:

在此处输入图片说明

基本上,我需要沿着弧线的路径绘制渐变,而不是沿弧线线性绘制。我尝试了很多方法,其中一些产生了相同的结果,但其中一些产生的结果却超出了预期。

这是我现在拥有的代码:

    CGFloat lineSize = 12;
    CGFloat radius = self.frame.size.width/2 - lineSize;

    CGContextRef ctx = UIGraphicsGetCurrentContext();

    //Define gradient
    CGFloat colors [] =
    {
        0.9451f, 0.5804f, 0.2431f, 1.0f,
        0.9922f, 0.9490f, 0.9020f, 1.0f,
        1.0f, 1.0f, 1.0f, 1.0f,
        0.8706f, 0.9020f, 0.9412f, 1.0f,
        0.2941f, 0.6863f, 0.9176f, 1.0f
    };

    CGColorSpaceRef baseSpace = CGColorSpaceCreateDeviceRGB();
    CGGradientRef gradient = CGGradientCreateWithColorComponents(baseSpace, colors, NULL, 5);
    CGColorSpaceRelease(baseSpace), baseSpace = NULL;

    //Define arc angle and points
    CGFloat startAngle = 3.0f/4.0f * M_PI;
    CGFloat endAngle = 1.0f/4.0f * M_PI;

    CGFloat a …
Run Code Online (Sandbox Code Playgroud)

core-graphics objective-c ios

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

如何为Java设置环境变量

我已经插入了以下几行 .bash_profile

export GOOGLE_APPLICATION_CREDENTIALS=/Users/jun/Downloads
export PATH=$PATH:GOOGLE_APPLICATION_CREDENTIALS
Run Code Online (Sandbox Code Playgroud)

并且更改确实生效了

在此处输入图片说明

但是,当我尝试使用以下方法访问环境变量时

System.out.println(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"));
Run Code Online (Sandbox Code Playgroud)

结果为

这是为什么?

注意:该应用程序使用 Eclipse 运行。

java eclipse environment-variables

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

如何在 HTTP/1.1 中接收分块响应,同时在 Java/Android 中向服务器发送数据

我们正在构建一个应用程序,它可以实时记录用户的语音,并通过 HTTP 请求将记录的数据发送到服务器。当服务器实时处理数据时,它也会以分块的形式发回响应。简单来说,应用程序正在向服务器一块一块地发送数据,同时,它也从服务器一块一块地接收响应。

请不要告诉我这是不可能的,因为我在 iOS 中有一个工作示例,它使用 withURLSession使用uploadTask流对将数据实时发送到服务器,然后从此回调中逐块接收响应urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)

下面是我的 Java 代码。我的发送工作正常,但仅在发送完成后才收到响应。

RequestBody body = new RequestBody() 
{
    @Override 
    public MediaType contentType() 
    {
        return MediaType.get("application/octet-stream");
    }

    @Override 
    public void writeTo(BufferedSink sink) throws IOException 
    {
        String filename = "/path/spoken.pcm";

        try 
        {
            InputStream inputStream = new DataInputStream(new FileInputStream(new File(filename)));

            byte[] cacheBytes = new byte[320];

            int length;

            while((length = inputStream.read(cacheBytes, 0, cacheBytes.length)) != -1) 
            {
                System.out.println("write thread name: " + Thread.currentThread());

                sink.write(cacheBytes, …
Run Code Online (Sandbox Code Playgroud)

java http-1.1 chunked-encoding okhttp

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

如何在 Xcode 中创建多个 .strings 文件而不是 Localizable.strings

有时,该应用程序包含大量文本,而 Localizable.strings 似乎充斥着过多的字符串,这让我很难找到要编辑的正确字符串(即使我为这些字符串添加了注释)。

我想创建多个 .strings 并将每个 .strings 文件设置为应用程序的相应功能或故事板集。

我尝试将 Localizable.strings 的文件名更改为 TestOnly.strings 等其他名称,但 Xcode 似乎并没有读取每个可用的 .strings 文件,而且我在构建设置下找不到告诉 Xcode 读取字符串的单个设置Localizable.strings。这是默认的且不可更改的吗?

请注意,我不是在问如何本地化字符串以支持不同的语言。我想要的是例如我的 Localizable.strings 包含

"test_string" = "这是一个测试"; "test_string2" = "另一个测试";

然后我希望将“test_string2”放置在另一个 .strings 文件中,例如 OtherLocalizable.strings 仍然可以被 Xcode 识别。

我希望你们明白我的意思。

xcode localizable.strings ios

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

如何将系统卷与系统卷分开设置(iOS设备卷物理键)?

我们的应用程序能够在wifi扬声器上播放音乐.该应用程序的一个功能是通过按下音量+ /音量 - iPhone上的硬键来改变扬声器的音量.

这背后的逻辑是获取系统的音量值并将其发送给扬声器.

但是,问题是此功能会影响系统音量.在应用程序内部按音量键时是否还要避免调整系统音量?

这是我用来获取每台印刷机系统卷的代码:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if ([keyPath isEqual:@"outputVolume"])
    {
        CGFloat phoneVolume = [[AVAudioSession sharedInstance] outputVolume];
        NSInteger volume = 100 * phoneVolume;

        [self onHardKeyVolumeChange:volume];
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone objective-c ios

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

iOS - 缺少Xcode中的iPad预览

我不知道如何在xcode预览中携带iPad?现在它缺失了.我已经检查了所有模拟器被列入xcode > Windows > Devices,而我的应用程序设置为UniversalDeployment info.目前我的xcode版本是Version 7.3.1 (7D1014).

如果有人知道,请与我分享.任何一种建议都非常值得注意.非常感谢提前.

让我附上一个屏幕截图.

在此输入图像描述

iphone xcode objective-c ipad ios

2
推荐指数
1
解决办法
543
查看次数

在 API Gateway 中创建访问 lambda 函数的方法与在 lambda 函数中添加 API Gateway 触发器的区别

我目前正在学习如何使用 API Gateway 公开我的 lambda 函数。我按照此处记录的说明创建了一个 API 来触发我的测试 lambda 函数。这是我所做的总结。

  1. 首先,我使用 hello world 模板创建了一个测试 lambda 函数,但没有添加触发器
  2. 然后我转到 API Gateway 控制台,使用 GET 方法添加了一个资源,指定了 Lambda 函数的集成类型。我在那里输入了我的测试 lambda 函数名称。

在此处输入图片说明

好的,所以我在 API Gateway 控制台中测试了上面的解决方案。它工作正常,我只需要通过创建一个阶段来部署它,我就完成了。

但后来我注意到另一种使用 API Gateway 公开 lambda 的方法。也就是说,通过转到该 lambda 函数并向其添加 API 网关触发器。像下面这样:

在此处输入图片说明

它将要求输入我将使用的 API 的 API 名称。这个 API 与我在 API Gateway 控制台下创建的 API 有某种关系。

创建触发器后,测试 lambda 函数现在将有一个如下所示的触发器,以及在其下公开的 https URL。

在此处输入图片说明

之后,当我转到 API Gateway 控制台时,我注意到添加了一个新资源。

在此处输入图片说明

资源名称是我的测试 lambda 函数的名称,方法是 ANY,我不太明白它的用法。

通过将以上内容与我之前创建的资源进行比较。上面的没有 lambda 函数的 ARN 地址,而这个有

在此处输入图片说明

所以,我的问题是,

  1. 创建 API 并为它添加与 lambda 的集成以及从 …

aws-lambda aws-api-gateway

2
推荐指数
1
解决办法
455
查看次数

如何将字符串中的时间转换为Java中的整数?

我从亚马逊那里获得了具有时间价值的JSON响应:

"Duration": 
{
    "name": "Duration",
    "value": "PT7H"
} 
Run Code Online (Sandbox Code Playgroud)

那意味着7个小时.如果输入是5分钟,那么它将是这样的:

"Duration": 
{
    "name": "Duration",
    "value": "PT5M"
}
Run Code Online (Sandbox Code Playgroud)

如何在几秒钟内将PT5M转换为时间?所以,如果字符串是"PT5M"(这是300秒),那么我希望它300作为输出.

谢谢!

java int json

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