xcode-select: error: tool 'xcodebuild' requires Xcode错误的解决办法

  • Jason.z
  • 2018-08-14 08:09:14

问题描述

编译ios工程的时候,报以下错误:

xcode-select: error: tool 'xcodebuild' requires Xcode

问题分析

查找当前xcode的路径

xcode-select --print-path

/Library/Developer/CommandLineTools

发现并不是xcode的路径

xcodebuild -showsdks

问题解决

切换到当前xcode路径即可。

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

微信公众平台开发者验证token失败错误汇总

  • Jason.z
  • 2018-08-13 03:22:23

1、如果的签名验证通过了,并且原样返回数据了

可以检验一下是否有其他格式数据干扰。

方法一、在输出echo $echostr前添加 header('content-type:text');

方法二、最后在echo $echoStr前面加一句ob_clean();

如何在cordova plugin 进行延时或者多次回调

  • Jason.z
  • 2018-08-10 13:14:28

cordova插件开发中经常会用到,直接看代码吧。

public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException {
    if(action.equals("doHeavyStuff"){
        // Start doing async heavy stuff...

        // Preserve callback
        PluginResult pluginResult = new  PluginResult(PluginResult.Status.NO_RESULT); 
        pluginResult.setKeepCallback(true);
        callbackContext.sendPluginResult(pluginResult);
        return true;
    }
}

private void doHeavyStuff(final CallbackContext callbackContext){
  something.execute(new ResponseHandler() {
      @Override
      public void onProgress(String message) { 
          PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, message);
         ...

如何在cordova plugin项目中引用aar文件

  • Jason.z
  • 2018-08-10 13:01:32

1、在aar的目录下建立一个xxx.gradle 文件内容如下:

repositories{    
  jcenter()
  flatDir {
      dirs 'libs'
   }
}

dependencies {
    compile(name:"xxx",ext: 'aar')
}

android {
  packagingOptions {
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
  }
}

2、在plugin.xml里

    <framework src="src/android/libs/xxx.gradle" custom="true" type="gradleReference" />

gradle编译时提示“Could not reserve enough space for object heap”的解决办法

  • Jason.z
  • 2018-08-10 09:13:34

问题描述

使用gradle编译的时候经常会出现如下错误:

Error occurred during initialization of VM Could not reserve enough space for object heap

问题分析

出现这个问题的原因主要是编译的时候java虚拟机的内存不足导致的。

解决办法

1、查看系统的可用内存是否足够;

2、增大jvm配置

全局配置

在C:\Users\.gradle 目录下创建gradle.properties 内容如下:

org.gradle.jvmargs=-Xmx512m

ide配置(android studio)

修改studio.vmoptions文件,增加以下内容

-Xmx512m 

延伸阅读

https://developer.android.com/studio/intro/studio-config?hl=zh-cn

Android下获取res/raw下资源的id

  • Jason.z
  • 2018-08-10 07:33:14

常规情况下。

我们可以通过 R.raw.xxx 来获取raw目录下文件的资源id

不过有时候,我们不能使用R的话就可以通过getIdentifier()方法来获取。

int id = this.getResources().getIdentifier("xxx", "raw", this.getPackageName());

Android编译提示-source 1.6 中不支持 diamond 运算符的解决办法

  • Jason.z
  • 2018-08-10 06:19:28

问题描述

编译项目的时候提示以下错误

Error:(71, 35) 错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)

问题分析

代码定位

 HashMap<String, String> configuration = new HashMap<>();

出现问题的原因主要是这个<> ,专业名称叫做钻石运算符,1.7版本之后呢,增加了一个特性就是:创建实例的时候增强了对类型的判断,也就说声明了什么类型就创建什么类型,我本地编译的jdk1.6所以会报错。

解决办法

1、修改代码

 HashMap<String, String> configuration = new HashMap<String, String>();

2、修改你的jdk编译版本,以android studio ,在module setting 里面 修改为1.7版本以上。

file

ios下NSInternalInconsistencyException错误闪退的解决办法

  • Jason.z
  • 2018-08-09 04:41:55

错误描述

某哥们报了下面一个NSInternalInconsistencyException错误

[图片]file

Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Application initializing document picker is missing the iCloud entitlement. Is com.apple.developer.icloud-container-identifiers set?

问题分享

NSInternalInconsistencyException错误的原因有很多中,不过这次出现这个错误其实已经提示得很明显了,主要是因为项目里面使用到了document picker的相关功能,而项目里没有正确配置icloud导致的。

解决办法

在xcode里打开icloud选项即可。具体根据自己的项目来,参考如下:

参考资料

document picker官方文档

Pods安装提示The 'Pods' target has transitive dependencies that include static binaries:解决方案

  • Jason.z
  • 2018-08-07 17:18:40

在使用pod install命令安装的时候,出现了以下错误:

The 'Pods' target has transitive dependencies that include static binaries:

podfile 内容如下:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
use_frameworks!
.....

因为我的工程既不是swift工程,也没有动态framework,

所以use_frameworks!对我来说并没有用处。

解决办法:

删除 use_frameworks! 选项重新运行命令即可,

编译提示“Picked up _JAVA_OPTIONS: -Xmx512M” 解决方法

  • Jason.z
  • 2018-08-07 10:37:19

问题描述

今天有个同学在使用ionic进行打包的时候提示了以下错误:

Picked up _JAVA_OPTIONS: -Xmx512M

file

问题原因

这是因为环境变量冲突导致的。也许你本身在环境变量里已经定义了JAVA_OPTIONS这样的参数,但是可能又一些其他工具和插件又重复定义了这个变量,所以导致冲突了。

解决办法

删除原来自定义的JAVA_OPTIONS即可。

file