小编Seb*_*ien的帖子

在国际化我的应用程序之前,如何更改Xcode中的开发语言?

我正在接管一个完全用法语写的应用程序.字符串在代码中用法语硬编码,故事板中的所有消息都是法语.但最初的开发区域Info.plist是留给英语的.所以我改变CFBundleDevelopmentRegion,以fr使其使用,真正的语言相匹配.但XCode一直告诉我,我的开发语言是英语:

XCode 6.3.2项目信息选项卡

我怎么能纠正这个?目标是能够激活基础国际化并使用法语作为基础语言而不是英语.

xcode internationalization ios

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

尝试在 Firebase Cloud Functions 中使用 Firebase Cloud Messaging 发送推送通知时未找到请求的实体

我正在尝试使用以下代码通过 FCM 从 Firebase Cloud 函数发送多播通知:

const message = {
    tokens: recipients,
    notification: {
        title: title,
        body: body
    },
    data: {
        projectPartnerId: projectPartnerId
    }
};
return admin.messaging().sendMulticast(message);
Run Code Online (Sandbox Code Playgroud)

并且没有发送任何推送通知。每个响应都包含一个带有相同消息的错误:“未找到请求的实体”。

我在 Google Cloud 控制台中启用了 API(Firebase 文档中没有提到它,但显然这是必要的)。我不知道我还能做什么。我能找到的所有其他问题都与 HTTP API 或遗留 API 相关。我使用的是最新版本的 Firebase Admin SDK。

firebase firebase-cloud-messaging firebase-admin

21
推荐指数
2
解决办法
3万
查看次数

使用Grails 3和Spring Security REST配置CORS

我试图找出如何将Angular 2前端(在localhost:4200上运行)插入Grails 3后端(在localhost:8080上运行),因此我需要在grails应用程序中启用CORS支持.

我发现了这个Github项目(https://github.com/appcela/grails3-cors-interceptor-spring-security-rest-sample-app),它展示了如何使用grails3-cors-interceptor插件启用CORS.我正在运行这个应用程序作为测试后端,我正在设置一个断点CorsService.processPreflight()来检查它何时被调用.当我进行GET操作时/api/books,浏览器首先发送一个通过断点的OPTIONS调用,但是下面的GET似乎没有去那里,我无法弄清楚原因.任何的想法?

rest grails spring-security cors

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

标头在REST服务的集成测试中消失

我在我的Grails 3.2.2应用程序中进行了集成测试,该测试应该检查CORS支持是否正常运行.当我启动应用程序并使用Paw或Postman之类的东西来执行请求时,我在CorsFilter中设置的断点显示我的标题设置正确.但是,当我使用RestBuilder进行集成测试时,使用以下代码执行相同的请求:

void "Test request http OPTIONS"() {
    given: "JSON content request"

    when: "OPTIONS are requested"
    def rest = new RestBuilder()
    def optionsUrl = url(path)
    def resp = rest.options(optionsUrl) {
        header 'Origin', 'http://localhost:4200'
        header 'Access-Control-Request-Method', 'GET'
    }

    then: "they are returned"
    resp.status == HttpStatus.SC_OK
    !resp.json
}
Run Code Online (Sandbox Code Playgroud)

CorsFilter中的断点显示两个标头都为空:

在此输入图像描述

奇怪的是,当我在RestTemplate中放置一个断点时,就在请求执行之前,标题就在那里:

在此输入图像描述

我不明白这些标题会如何消失.任何的想法?

testing rest grails spring

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

自从将Angular升级到2.3.1后,尝试分配给只读属性

我今天早上将Angular 2.1.0项目升级到2.3.1,从那时起我的86个测试中有5个失败,出现以下错误:

失败:尝试分配给只读属性.set @ webpack:///~/@angular/core/src/facade/errors.js:43:33 < - src/test.ts:12465:52

这是最简单的失败测试:

/* tslint:disable:no-unused-variable */
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
import {ProfileComponent} from './profile.component';
import {TranslateModule, TranslateService} from 'ng2-translate';
import {FormsModule} from '@angular/forms';
import {ProfileService} from '../profile.service';
import {ProfileServiceStub} from '../../../testing/profile-service-stub';
import {TranslateServiceStub} from '../../../testing/translate-service-stub';
import {NotificationsServiceStub} from '../../../testing/notifications-service-stub';
import {NotificationsService} from 'angular2-notifications';

describe('ProfileComponent', () => {
  let component: ProfileComponent;
  let fixture: ComponentFixture<ProfileComponent>;
  const profileServiceStub = new ProfileServiceStub(5000);

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ProfileComponent],
      imports: [
        TranslateModule, FormsModule
      ],
      providers: [
        {provide: …
Run Code Online (Sandbox Code Playgroud)

testing karma-jasmine angular

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

Grails中的多文件上传

我正在尝试将来自blueimp的优秀jquery-file-upload集成到Grails 2.0中,并为此编写一个新的插件.我知道已经有一个插件,但它没有使用资源,它已经有9个月没有更新了,而且jquery-file-upload在那段时间里发生了很大的变化.

所以我把发行版的所有文件放在我的插件中,现在我正在尝试编写一个可以处理上传的控制器动作.问题是request.getFileNames()只给我一个files[]条目,我不知道如何检索我上传的3个单独的文件.

你如何处理这样的输入发送的文件:<input type="file" name="files[]" multiple>

jquery grails file-upload

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

尝试匿名登录Firebase时,对引荐来源网址的请求被阻止

我正在尝试使用JS SDK从Web应用程序匿名登录,它在某些环境下效果很好,但是在一个环境下,与其他地方完全相同的代码却给了我403:

(索引):64 {“错误”:{“代码”:403,“消息”:“来自引荐来源网址https://myapp.firebaseapp.com/的请求被阻止。”,“错误”:[{“消息”: “来自引荐来源网址https://myapp.firebaseapp.com/的请求已被阻止。”,“域”:“全局”,“原因”:“禁止”}],“状态”:“ PERMISSION_DENIED”}}

但是我认为我检查了所有环境下的所有内容是否相同:启用了匿名身份验证,并且我的Web应用程序位于Firebase Hosting上,因此代码应与环境无关。

知道这可能来自哪里吗?

javascript firebase firebase-authentication

7
推荐指数
2
解决办法
1074
查看次数

使用基于发布的服务UUID的扫描筛选器扫描BLE外设

我有一个自定义BLE外围设备,它发布这样的数据:

在此处输入图片说明

换句话说,我的BLE外设会在已发布的服务数据中发布与唯一标识符关联的服务UUID,但不会将该服务UUID添加到已发布的服务列表中,因为如果这样做,则BLE框架中没有空间在需要时添加电池电量。

在iOS上,我可以使用基于服务UUID的过滤器进行扫描,并查看我的外围设备。但是在Android上,使用以下扫描过滤器,我看不到外围设备:

val scanSettingsBuilder = ScanSettings.Builder()
            .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
            .setReportDelay(0L)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    scanSettingsBuilder
                .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
                .setMatchMode(ScanSettings.MATCH_MODE_AGGRESSIVE)
                .setNumOfMatches(ScanSettings.MATCH_NUM_ONE_ADVERTISEMENT)
}
bluetoothAdapter?.bluetoothLeScanner?.startScan(
    arrayListOf(ScanFilter.Builder().setServiceUuid(ParcelUuid(UUID.fromString("00004865-726f-6e54-7261-636b2d475053"))).build()),
    scanSettingsBuilder.build(),
    leScanCallback
)
Run Code Online (Sandbox Code Playgroud)

是否有人有更多关于基于serviceUUID的扫描过滤器如何工作的详细信息,并且外围设备必须满足哪些条件才能被过滤器接受?

android bluetooth-lowenergy android-ble

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

ClassNotFoundException:org.hibernate.event.spi.PreLoadEventListener

当我尝试运行我的Grails 2.4.1应用程序时,我得到以下异常,我不太明白.

| Running Grails application
objc[15346]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
| Error 2014-06-19 16:54:40,048 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error initializing the application: org/hibernate/event/spi/PreLoadEventListener
Message: org/hibernate/event/spi/PreLoadEventListener
    Line | Method
->>  800 | defineClass               in java.lang.ClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - …
Run Code Online (Sandbox Code Playgroud)

grails

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

Flutter:一个FocusNode被丢弃后被使用

我在一个有状态小部件中有一个简单的 Flutter 表单,其中包含一堆文本字段来捕获信用卡详细信息。当我显示此表单时,点击第一个字段,在其中输入内容,然后点击第二个字段,焦点不会转移到第二个字段,光标停留在第一个字段,即使两个字段都显示为焦点(边框是两者都可见),当我输入时,它进入第一个字段。在第二个字段中输入内容的唯一方法是长按它,就像我想在其中粘贴一些东西一样。在控制台中,我看到了这个:

[VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception: A FocusNode was used after being disposed.
Once you have called dispose() on a FocusNode, it can no longer be used.
#0      ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:117:9)
#1      ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:123:6)
#2      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:234:12)
#3      FocusNode._notify (package:flutter/src/widgets/focus_manager.dart:1052:5)
#4      FocusManager._applyFocusChange (package:flutter/src/widgets/focus_manager.dart:1800:12)
#5      _rootRun (dart:async/zone.dart:1346:47)
#6      _CustomZone.run (dart:async/zone.dart:1258:19)
#7      _CustomZone.runGuarded (dart:async/zone.dart:1162:7)
Run Code Online (Sandbox Code Playgroud)

问题是没有一个字段具有焦点节点集,因此 Flutter 表单状态内部似乎发生了一些错误。有人见过这个吗?

请注意,对我来说,它发生在网络和移动设备上,但并非始终如一。

这是有问题的表单的代码。

这是一个屏幕截图,说明 2 个字段同时具有焦点,并且光标停留在第一个字段中。当我在键盘上输入内容时,它会指向第一个字段。这是在物理 iPhone 设备上运行的。

在此处输入图片说明

这里是被称为该功能onPressedElevatedButton显示格式如下:

Future<void> _addPaymentMethod(BuildContext context) async {
    await Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) …
Run Code Online (Sandbox Code Playgroud)

flutter

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