小编Mik*_*man的帖子

检测是否正在从Xcode运行Swift应用程序

我想以编程方式确定iOS应用程序是否直接从XCode运行(在模拟器中或在系留设备上).我已经尝试了这里描述的-D DEBUG解决方案,但是当我从Xcode断开并重新运行应用程序时,它仍然认为它处于调试模式.我认为我正在寻找的是这个函数的Swift版本

#include <assert.h>
#include <stdbool.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/sysctl.h>

static bool AmIBeingDebugged(void)
    // Returns true if the current process is being debugged (either 
    // running under the debugger or has a debugger attached post facto).
{
    int                 junk;
    int                 mib[4];
    struct kinfo_proc   info;
    size_t              size;

    // Initialize the flags so that, if sysctl fails for some bizarre 
    // reason, we get a predictable result.

    info.kp_proc.p_flag = 0;

    // Initialize mib, which tells sysctl …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

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

Android中如何抑制"大声音乐可能会伤害您的听力..."警告

我有一个用于三星平板电脑的Android应用程序,它使用外部设备从平板电脑耳机插孔获取电源.当外部设备通电时(通过以编程方式最大化音量),Android会短暂显示一个警告弹出窗口:"如果您长时间聆听,大声的音乐可能会损害您的听力......"我希望此消息不会显示.

这是令人讨厌的代码行:

mAudioMgr.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioMgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
Run Code Online (Sandbox Code Playgroud)

它不是一个只能半途打开它的选择.事实上,我已经看到平板电脑显示警告(手动更改音量时),即使音量设置低于最大设置.

是的,我记录了原始音量,并在我们完成外部设备后恢复它.

谢谢你的任何建议.

android

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

React Native + Jest EMFILE:打开文件太多错误

我正在尝试运行Jest测试,但是我收到以下错误:

读取文件时出错:/Users/mike/dev/react/TestTest/node_modules/react-native/node_modules/yeoman-environment/node_modules/globby/node_modules/glob/node_modules/path-is-absolute/package.json /Users/mike/dev/react/TestTest/node_modules/jest-cli/node_modules/node-haste/lib/loader/ResourceLoader.js : 88 throw err; ^

错误:EMFILE:打开文件太多,打开'/ Users/mike/dev/react/TestTest/node_modules/react-native/node_modules/yeoman-environment/node_modules/globby/node_modules/glob/node_modules/path-is-absolute/package.json'at Error(native)npm ERR!测试失败.请参阅上文了解更多详情.

我感兴趣的是错误中列出的路径指向node_modules目录中的文件,由于testPathIgnorePatterns中的node_modules条目,我预期不会读取该文件.

我正在运行Node 4.2.1,我的React-Native安装只有一周了,我今天安装了Jest(所以我觉得我已经掌握了所有内容).我在Mac上.

我已经运行:sudo ulimit -n 10240,关闭所有终端窗口,甚至尝试重启.(在我之前添加的.bash_profile中ulimit -n 1024.我尝试过更大的数字.

为了确保问题不仅仅出现在我自己的项目中,我创建了一个新项目react-native init TestTest并对RN.json进行了RN建议的更改:

{
  "name": "TestTest",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node_modules/react-native/packager/packager.sh",
    "test": "jest"
  },
  "dependencies": {
    "react-native": "^0.14.1"
  },
  "jest": {
    "scriptPreprocessor": "node_modules/react-native/jestSupport/scriptPreprocess.js",
    "setupEnvScriptFile": "node_modules/react-native/jestSupport/env.js",
    "testPathIgnorePatterns": [
      "/node_modules/",
      "packager/react-packager/src/Activity/"
    ],
    "testFileExtensions": [
      "js"
    ],
    "unmockedModulePathPatterns": [
      "promise",
      "source-map"
    ]
  },
  "devDependencies": {
    "jest-cli": "^0.7.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

但我每次都得到同样的错误.

ulimit reactjs jestjs react-native

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

在CouchDB _changes响应中,为什么"更改"元素数组?

CouchDB对_changes请求的响应以这种格式返回:{"seq":12,"id":"foo","changes":[{"rev":"1-23202479633c2b380f79507a776743d5"}}}

我的问题 - 为什么"更改"元素是一个数组?什么情况会在changes元素中返回多个项目?我从未在网上看过一个有多个项目的例子,根据我自己的经验,我只看过一个项目.

我正在编写与变化交互的代码,如果事实上有多个项目,我想知道该怎么做.

谢谢,迈克

couchdb

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

如何从两个不共享接口的类访问方法?

我正在创建一个将访问Web服务的java库,但是库将在不同的平台中调用,因此我们使用kso​​ap2和ksoap2-android为不同的平台生成帮助程序类.问题是我们有两组生成的类/方法,它们的签名是等价的,但是没有公开共享Java接口 - 所以我无法想办法从我的主代码中调用它们.

一个简化的例子:

//generated for Android
class A {
  public String sayHi() {
    return "Hi A";
  }
}

//generated for j2se
class B {
  public String sayHi() {
    return "Hi B";
  }
}

//main code - don't know how to do this
XXX talker = TalkerFactory.getInstance()
String greeting = talker.sayHi()
Run Code Online (Sandbox Code Playgroud)

当然,最后一部分是伪代码.具体来说,如何在一个对象的实例上调用sayHi(),我不知道编译时的类型,哪个不符合特定的接口?我希望有一些方法可以做到这一点,无需手动编辑所有生成的类来添加"实现iTalker".

java wsdl2java ksoap2 android-ksoap2

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