xcode杂记

Xcode版本落后于真机iOS版本的解决方案:
https://gitee.com/Han0/iOSDeviceSupport

Xcode profile存放路径:~/Library/MobileDevice/Provisioning Profiles

Xcode 重置偏好设置 defaults delete com.apple.dt.Xcode

需要定时清理的:
/Users/lixiang/Library/Developer/Xcode/DerivedData
/Users/lixiang/Library/Developer/Xcode/iOS\ DeviceSupport
/Users/lixiang/Library/Developer/Xcode/watchOS\ DeviceSupport
/Users/lixiang/Library/Developer/Xcode/DocumentationCache
等同级别文件夹,都可以清理。

// 屏蔽杂乱日志
OS_ACTIVITY_MODE disable
// 禁止Xcode indexing
defaults write com.apple.dt.XCode IDEIndexDisable 1
defaults write com.apple.dt.XCode IDEIndexDisable 0
// 不升级仓库
pod update --verbose --no-repo-update
pod install --verbose --no-repo-update
// 删除多余的模拟器
/Library/Developer/CoreSimulator/Profiles/Runtimes

uniapp使用permision判断隐私权限

const permision = require("@/utils/permission.js");

judgeIosPermission: function (permisionID) {
    var result = permision.judgeIosPermission(permisionID);
    console.log(result);
    var strStatus = result ? "已" : "未";
    console.log(permisionID + "权限" + strStatus + "获得授权");
    if (result) {
    console.log("iOS有权限");
    } else {
    this.alertHaveNoAuth();
    }
},
async requestAndroidPermission(permisionID) {
    var result = await permision.requestAndroidPermission(permisionID);
    var strStatus;
    if (result == 1) {
    strStatus = "已获得授权";
    } else if (result == 0) {
    strStatus = "未获得授权";
    } else {
    strStatus = "被永久拒绝权限";
    }
    if (result != 1) {
    this.alertHaveNoAuth();
    } else {
    console.log("安卓有权限");
    }
    console.log(permisionID + strStatus);
},
alertHaveNoAuth() {
    uni.showModal({
    title: "未开启通讯录权限",
    confirmText: "去设置",
    success: function (res) {
        if (res.confirm) {
        permision.gotoAppPermissionSetting();
        }
    },
    });
},

HBuilderX新建uniapp项目,并导入uview

一、HBuilderX新建uniapp项目,默认模板

若是vue-cli创建的项目,要安装以下依赖

npm i sass -D
npm i sass-loader -D

二、打开插件市场,使用HBuilderX导入插件uview2

https://ext.dcloud.net.cn/plugin?id=1593

三、修改main.js

代码最底部插入

import uView from '@/uni_modules/uview-ui'
Vue.use(uView)

四、修改uni.scss

代码最底部插入

@import '@/uni_modules/uview-ui/theme.scss';

五、修改App.vue

代码最底部插入

<style lang="scss">

    /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */

    @import "@/uni_modules/uview-ui/index.scss";

</style>

六、修改pages.json

插入easycom,与pages平级

"easycom": {
    "^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue"
},

参考文档

https://www.uviewui.com/components/downloadSetting.html

hyzs新版登录备忘

let cookie = `loginToken=${this.globalData.token}`


header: {
    token:getApp().globalData.token
},

loginWith(account, password) {
        let param = {
          loginAccount: account,
          loginPassword: '68270bfdbd14cbab5e6402031e91a1b3'//md5
        }
        let url = this.globalData.baseUrl + 'tobacco/hd/login/userLogin'
        console.log('登录中=>', JSON.stringify(param))
        let promise = new Promise(
          function(resolve, reject) {
            uni.request({
              url: url,
              data: param,
              method: 'POST',
              success: (res) => {
                console.log('接口返回=>', res.data)
                resolve(res.data)
              },
              fail: (err) => {
                reject(err)
              },
            });
          })
        return promise
      },

HBuilderX多光标

hx支持多光标,按 cmd+鼠标左键 就可增加一个光标,cmd+鼠标右键 可取消一个光标或选区。

还可以选择相同词。ctrl+e (mac是cmd+d)可选中相同的词做批处理。

安装typescript

npm i typescript -g //全局安装typescript
tsc -h //查看帮助信息
tsc –init //创建typescript配置文件
tsc /Users/lixiang/Desktop/ts1/src/index.ts // 将ts文件转换为js文件

语言类型


强类型语言

强类型语言也称为强类型定义语言。 是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。 java、.NET、C/C++等都是强制类型定义的。 也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

弱类型语言

弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动。 弱类型语言包括:VB,PHP,JavaScript等语言。 其中VBScript是动态语言,是一种类型不安全的原因。

动态类型语言

动态类型语言:是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。

静态类型语言

静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、JAVA都是静态类型语言的典型代表。