分类: 技术

  • UNIAPP一键生成iOS通用链接

    UNIAPP一键生成iOS通用链接

    背景介绍:

    Universal Link是苹果在WWDC 2015上提出的iOS 9的新特性之一。此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比以往所使用的URLSheme, 这种新特性在实现web-app的无缝链接时,能够提供极佳的用户体验。 使用前请阅读苹果官方文档。

    由于苹果iOS 13系统版本安全升级,微信SDK1.8.6版本要求支持Universal Links方式跳转,以便进行合法性校验,提升安全性。更多详情请参考微信官方说明

    大白话:以前你的APP要打开其他APP是通过URLScheme实现,后来苹果提出用Https链接来启动,手机上对应的app(已安装),更方便与web-app的无缝对接。微信响应了这个方案。所以大家开发的APP无论是微信登录、微信支付,还是微信分享等一切会跳转到微信,再跳回来的场景,需要提供这个链接。要不然你的应用打开了微信,微信就打不开你的应用。

    如果不配置通用链接,使用新版本HX提交云端打包会失败,提示以下错误信息:

    Error code = -5000
    Error message: 
    Error: not set parameter 'UniversalLinks' @'oauth-weixin'
    

    复制代码

    传统方式配置通用链接需要:

    1. 在苹果开发者中心:开启Associated Domains服务
    2. 获取相关参数,手动创建apple-app-site-association文件
    3. 部署apple-app-site-association文件到自己的云服务器,配置SSL证书解析域名
    4. 然后手动在manifest.json中配置Associated Domains(域名)
    5. 粘贴通用链接到对应权限模块
    6. 在微信开放平台配置通用链接

    其中需要注意的细节较多,且调试起来困难繁琐,困扰了大量开发者。

    现在通过HBuilderX(3.1.9版起)云打包,支持自动生成apple-app-site-association文件,并自动托管到:自带cdn、ssl等服务的“免费”的云服务空间uniCloud的前端网页托管,自动完成manifest.json中的相关配置。用自动化技术替代了,如上所示传统方式令人苦恼的(2-5)4个步骤;只需如下三步直接搞定通用链接。

    #第一步:开启Associated Domains服务

    登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains服务 

    开启Associated Domains服务后需要重新生成profile文件,提交云端打包时使用

    #第二步骤 自动生成通用连接(Universal Links)

    HBuilderX (3.2.0 版本起) 新增QQ互联和新浪微博开放平台的通用链接的设置。以微信模块为例,QQ与微博与之类似。

    打开项目的manifest.json文件,在“(App) SDK配置”项中的微信登录(微信分享、微信支付)下的“iOS平台通用链接(Universal Links)”中, 点击如图所示【自动生成】 

    • 注意您必须先开通”uniCloud(阿里云版)云服务空间和开通前端网页托管”点此查看开通教程,按提示完成操作即可。
    • 注意:通用链接默认域名仅供测试使用,访问频次限制60次/分钟,请勿在正式发行的项目中使用。正式项目,务必绑定自己的域名(顶级域名,二级域名均可)
    • 如何绑定自己的域名详情:https://uniapp.dcloud.io/uniCloud/hosting?id=domain

    #第三步:在第三方开放平台配置通用链接

    #微信

    打开微信开放平台,在“管理中心”页面的“移动应用”下找到已经申请的应用(没有申请应用请点击“创建移动应用”新建应用),点击“查看”打开应用详情页面。 在“开发信息”栏后点击修改,在“iOS应用”下的“Universal Links”项中配置应用的通用链接,如下图所示: 

    #QQ

    打开QQ开放平台,在“管理中心”页面的“移动应用”下找到已经申请的应用(没有申请应用请点击“创建移动应用”新建应用),点击“查看”打开应用详情页面。 在“开发信息”栏后点击修改,在“iOS应用”下的“Universal Links”项中配置应用的通用链接,如下图所示: 

    • 注意:QQ开放平台在填写时 只需要填写到host,后边的path QQ会自动生成,比如 HBuilder中一键生成 https://static-fa42aa5f-xxxxxxx-xxxxxxxx.bspapp.com/qq_conn/11111233333/ 只需要填写 https://static-fa42aa5f-xxxxxxx-xxxxxxxx.bspapp.com/,具体请查看 QQ 填写及校验universallinks

    #微博

    打开微博开放平台,在“我的应用”下找到已经申请的应用,点击“查看”打开应用详情页面。 在“应用信息”栏后点击修改,在“iOS应用”下的“Universal Links”项中配置应用的通用链接,如下图所示:

    至此,就已经完成了通用链接的配置全过程,云打包后生效。

    #其他相关

    #云资源消耗说明

    托管通用链接所资源消耗的云服务器资源量非常小,文件小于0.5kb,仅你的iOS版App在:安装、登录、分享、支付时才会被联网请求(且设备会缓存通用链接的文件内容,缓存有效期内不会再次联网请求)。而阿里云正式版-开发者版(免费版)的前端网页托管,免费额度为:1GB/月;普通项目的服务空间,如果仅托管“通用链接”使用免费版也够用。

    #通用链接迁移指南

    阿里云公测版即将下线,需要将通用链接文件迁移到新的正式版服务空间的用户参考以下步骤:

    uniCloud阿里云正式版-付费版,支持“一键迁移”(即将上线)可省略步骤3和4

    1. 解绑域名与旧服务空间的绑定关系在uniCloud web控制台打开旧的服务空间 -> 前端网页托管 -> 参数配置 -> 域名信息 配置网站域名 -> 点击删除
    2. 绑定域名到新服务空间在uniCloud web控制台打开新服务空间 -> 前端网页托管 -> 参数配置 -> 域名信息 配置网站域名 -> 添加域名(添加后CNAME的值不会马上出现,需要过一会后点击右上角的刷新按钮,直至出现) -> 解析域名
    3. 指定要生成通用链接的服务空间在HBuilderX中点击项目的 manifest.json -> App模块配置 OAuth(登录鉴权)-> 微信登录(其他模块同理),点击自动生成 -> 选择“新开通的服务空间“ -> 下一步 -> 自定义域名 -> 完成
    4. 自动生成与部署直接提交云打包即可。注意:提交云打包,只是为了触发:“生成新的通用文件并自动部署到新服务空间”,用户的客户端无需更新。

    #客户端处理通用链接。

    可通过5+ API的plus.runtime.launcher判断应用启动来源,如果其值为”uniLink”则表示通过通用链接启动应。这时可通过5+ API的plus.runtime.arguments获取启动参数,通用链接启动的情况将返回完整的通用链接地址。 例:HBuilderX中自带的默认真机运行基座HBuilderX注册的通用链接:https://demo.dcloud.net.cn/ulink/

    #通用链接生成原理:

    1. 选择云空间获取云空间的默认/自定义域名
    2. 按提前制定的规范(uni-universallinks/DCloud appid)拼接URL
    3. 根据现有参数自动生成通用链接相关参数到manifest.json
    4. 发起云打包时读取证书的profile文件生成apple-app-site-association并部署到前面选定的云空间根目录的.well-known目录下(请勿删除该文件,否则通用链接将失效)
    #注意事项:
    • 通用链接指向的路径可以为空,他只是一种信息传递方式。可以简单地理解为:通过解析URL的“/”后的参数到apple-app-site-association中找到指定的包名并唤醒对应的APP
    • 通用链接内容保存在manifest.json中”云打包后生效”,被手机读取的时机是应用被安装的时候。如果你的通用链接内容有变化,你需要重新提交云打包,并重新安装一次应用才能生效
    • 通用链接最终托管在服务端,如有变动注意缓存的清理,例如尝试重启手机等操作

    如果你是本地离线打包或者由于某种原因你需要用传统的方式:私有化部署服务器来托管apple-app-site-association文件创建通用链接。你仍然可以通过手动配置manifest.json实现。详情:https://ask.dcloud.net.cn/article/36393#unilink

    #常见问题

    1.为什么我打开通用链接提示:The requested file was not found on this server.

    这是正常现象。通用链接并不要求是一个有效的路径,换句话说这个链接指向的目录允许为空。原理是访问这个链接时,iphone检测到当前域名为通用链接对应的域名,就读取域名服务器下的apple-app-site-association,然后根据域名后面的路径名称,验证并解析出要打开的app包名并唤醒对应的app。

    2.如何验证通用链接已经生效,有什么表现或者测试方案

    你可以将通用链接输入到iphone自带Safari浏览器中,下拉即可看到通用链接对应到应用名称和一个打开按钮,点击按钮即可直接在浏览器打开对应的APP。详情:点此查看演示视频

    3.使用微信登录、分享、支付等功能时,用户非首次调起微信,仍然出现二次跳转app

    微信SDK要求通用链接apple-app-site-association文件中 path不能带query参数,且末尾必须添加通配符*号。如下:

    {
        "applinks": {
            "apps": [],
            "details": [
                {
                    "appID":"8ARUHGUQNH.com.AppSample",
                    "paths": [ "/AppSample/*"]
                }
            ]
        }
    }
    
    

  • iOS通用链接(UniversalLink)配置详细流程

    iOS通用链接(UniversalLink)配置详细流程

    简介

    Universal Links 是苹果自iOS9.0推出的用于应用之间跳转的一种安全认证机制,主要用来通过HTTPS链接来无缝启动APP。手机中如果安装了支持该链接的APP就会直接进入到APP中。如果没有安装APP则会跳转到Safari浏览器中,展示H5页面。

    一、Universal Links 配置过程

    1. 登录苹果账号后,点击创建的APP 的Bundle ID,跳转到APP 信息页面。
    2. 记录下Team ID 和Bundle ID 备用。
    3. 勾选上 功能列表上的 ”Associated Domains“选项。
    iOS通用链接(UniversalLink)配置详细流程

    配置苹果后台

    1. 创建一个text空文本文件,去掉文件后缀,命名为apple-app-site-association(不能修改,且不能添加后缀)。
    2. 文件内添加json格式数据,内容如下
    {
        "applinks": {
            "apps": [],
            "details": [
                {
                    "appID":"8ARUHGUQNH.com.YHKJ.AppSample",
                    "paths": [ "/AppSample/*"]
                }
            ]
        }
    }
    

    如果一个域名下面有多端APP,可写作

    {
        "applinks":{
            "apps":[],
            "details":[
                {
                    "appID":"8ARUHGUQNH.com.YHKJ.AppSample",
                    "paths":["/AppSample/*"]
                }
                {
                    "appID":"8ARUHGUQNH.com.YHKJ.appManage",
                    "paths":["/manageAppSample/*"]
                }
            ]
        }
    }
    

    apps:为必写且固定为[ ]
    appID是指:TeamID.BundleId的组成
    paths:是一个支持的路径列表字符串数组,可以是一个也可以是多个,用于过滤可以跳转到App的链接,支持通配符*,通配符表示允许该域名下的任意路径。
    details数组中可以配置多个APP的信息,如果有多个APP需要支持Universal,则可以直接添加多个。
    严格区分字母大小写

    1. apple-app-site-association文件创建好后 发给后台,让后台放到域名的服务器根目录下,也可以在根目录中添加.well-known文件夹,将文件上传到.well-known文件夹下(.点一定不能少),对应连接分别为
    https://xxx/apple-app-site-association
    https://xxx/.well-known/apple-app-site-association
    xxx为服务端的域名
    
    1. 打开你的iOS工程,如下添加“Associated Domains”功能 和 域名地址,
      applinks:域名地址,Domains中的域名必须是使用applinks开头。
    iOS通用链接(UniversalLink)配置详细流程

    添加Associated Domains

    iOS通用链接(UniversalLink)配置详细流程

    添加域名地址

    二、测试Universal Link链接

    苹果提供了一个网页来验证我们编写的这个apple-app-site-association文件是否合法有效,
    https://search.developer.apple.com/appsearch-validation-tool/

    如果 Universal Link 配置成功,在iOS自带Safari浏览器中,打开 Universal Link 链接,下拉会出现应用入口,点击“打开”可以跳转至原生App;如打开微信的 Universal Link : https://help.wechat.com/app/ 如下图

    iOS通用链接(UniversalLink)配置详细流程

    打开微信通用链接

    二 、Universal Link 的运行机制原理

    1. 当App初次安装后或者更新版本后的第一次启动(第二次启动就不会),向工程配置的applinks:的域名请求apple-app-site-association配置文件。
    2. App自动的将apple-app-site-association配置文件向iOS系统配置。
    3. 当任何WebView发起UniversalLink的url的时候,系统遍历注册过的通用链接,如果命中则直接打开App触发Delegate方法。
    4. 如果没命中,WebView继续跳转加载url。
      以上都是系统默默替你做的,我们要做的就是确保配置的正确性。

    三 、注意事项

    1. 服务器的域名地址必须是HTTPS的,并且SSL证书必须通过苹果信任。苹果支持的HTTPS证书列表。
    2. apple-app-site-association名称不能变,不能加后缀,只能放在上面说的服务器位置。但是 iOS 会先去请求.well-known 路径,如果apple-app-site-association文件请求不到,再去请求根目录,所以如果想要避免服务器接收过多GET请求,可以直接把apple-app-site-association文件放到well-known目录下。
    3. 服务器上apple-app-site-association的更新不会让iOS本地的apple-app-site-association同步更新,Universal Link的更新 只有在APP第一次安装 和 更新版本的时候,如果Universal Link有变更,只能重新打包发版,然后让用户更新版本或者卸载重装。
    4. 跨域问题,如果由当前网页跳转Universal Link打开APP,当前网页的域名和Universal Link 的域名必须 不能一致,否则不会跳转,只会在当前的WebView里面跳转。
    5. 由浏览器或其他app应用跳转进入我自己的APP时接收回调,要在AppDelegate.m/SceneDelegate.m中实现下面回调方法:
    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray> * _Nullable))restorationHandler {
        // NSUserActivityTypeBrowsingWeb 由Universal Links唤醒的APP
        if (![userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
            return YES;
        }
        NSURL *jumpUrl = userActivity.webpageURL; // 这个URL就是你跳转的那个URL,下载页地址,想要传参数可以直接在URL后面拼接
        // TODO:在这里进行跳转具体页面的操作
        return YES;
    }
    

    四 、Universal Links 与 URL Scheme

    另一种 外部唤起App 的方式是URL Scheme,但是URL Scheme有一些弊端。

    1. Universal Links 具有唯一性,比较安全。它是使用标准的HTTPS协议链接到你的web站点,所以一般不会被其它的APP所声明。而URL Scheme是由开发者自定义的,没有限制,任何App都可以用同一个名字,有些钓鱼App可以 设置知名的APP 的URL Scheme 来欺骗用户。
    2. URL Scheme可以通过canOpenURL判断用户是否安装App,但是只有安装了APP才能跳转,未安装则没有效果。而Universal Links 如果安装了就跳转APP,如果未安装就跳转网页展示你网站的内容,比较灵活。
    3. 使用scheme跳转系统会弹框提示,替换成UL链接后可以实现无缝跳转。

    接入微信universal link微信校验不通过指南

    http://www.taodudu.cc/news/show-2894874.html?action=onClick

    IOS – 通用链接(UNIVERSAL LINK)范文指南

    https://www.freesion.com/article/4743243660/

    配置iOS通用链接(Universal Links)

    https://www.kancloud.cn/wangking/uniapp/1875048

    微信支付IOS UniversalLink接入指南

    iOS接入指南:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html

  • windows下创建ios打包证书的详细流程

    windows下创建ios打包证书的详细流程

    当我们在hbuilderX、apicloud或其他云打包的平台编译app的时候,需要ios打包证书:.p12证书文件和.mobileprovision描述文件。

    但是根据苹果官方提供的方法,这个证书的创建需要mac电脑,而我们大部分开发人员都没有mac电脑,那么怎么生成ios证书呢?

    你可以使用本站的生成ios证书的工具:https://www.yunedit.com/createcert

    详细的生成流程如下:

    1、假如你还没有苹果开发者账号,你可以参考下面的文章先注册苹果开发者中心: https://blog.csdn.net/handsome0916/article/details/113779348

    2、登录本站(香蕉云编)控制台,创建csr文件,并将这个创建好的csr文件下载到你的电脑本地

    2、登录苹果开发者中心,假如你已经按照第一步注册并缴费成为开发者,会见到Certificates菜单. 点击Certificates菜单,点蓝色加号,创建证书,假如不知道苹果开发者中心在哪里,可以看第一步。 记得创建证书的时候一定要选择ios distribution app store and ad hoc类型的证书,可千万别选择了apple distribution类型或选择了develpment类型的证书,选择错了你后面打包就会失败。

    创建的过程中,会要求我们上传刚才创建的csr文件,上传刚才从本站生成的csr文件,就可以生成cer文件。

    3、创建cer证书成功后,将这个cer证书下载到我们电脑本地。

    4、回到本站(香蕉云编)的控制台,在对应的行里面,上传这个cer文件,就可以生成最终的.p12格式的证书了。

    到这里,p12格式的证书我们已经创建成功了,下面我们来讲述如何生成.mobileprovision描述文件

    1、登录苹果开发者中心控制台,点击Identifiers,点击蓝色加号,创建一个appid,这个appid要跟你在hbuilder打包用的包名一致,假如已经创建,则跳过这一步。

    2、点击profiles,开始创建描述文件,创建的时候选择app store类型,假如你选择的是ad hoc类型,则看第四步。

    3、创建的过程中会要求我们选择第一步创建的appid:。

    4、假如你创建的是ad hoc类型的profile(假如你创建的是app store类型的profile则不需要这一步),则创建过程中,还需要提供测试手机的udid,你可以使用你的iphone手机,打开本站(香蕉云编)的这个获取手机udid的工具,获取手机的udid: https://www.yunedit.com/udid

    到这里,已经介绍完全部的流程,谢谢大家!

  • uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    1 说明

          此文章介绍uni-app跨平台开发时关于安卓的打包到上架的完成流程,同时也会列举在整个过程中的注意事项,阅读文章的前提是是建立在你已经有共可打包的代码和已付费的google play的账号,

    2 uni-app 安卓打包流程

       1  打开项目中manifest.json, 此文件为整个app的配置文件,位于项目的根目录。如下图

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

     2  对打开左边的选项菜单做简单的介绍,并提供一些注意事项。

         a  基础配置  填写选项信息,appid 是app的唯一标识符至始至终不要去随意改变,应用版本名称和应用版本号在每次正式打包之前的值要比上一个高,否则在上传的时候会出现冲突。

        b  填写即可 , 注意在安卓应用中不要出现有圆角的图标,不然在上架后在手机上会出现黑色填充圆角的情况,如果同一个账号要上传多个app 时图标不能一样,不然审核无法通过。

       c 源码视图  此选项其实就是上选所有选项的代码集合,详细参考https://uniapp.dcloud.io/collocation/manifest

       说明  其他一些选项配置实际上是在开发过程中已经根据需求配置好的,此处省咯,由于google上架时的审核不想ios那么严格,所以一般情况下在完成上面配置和实际开发中的配置都不会存在特别严重的问题,但是涉及到支付时还会涉及到一些其他配置。

    3 点击发行—— 云打包 会出现如下对话框

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    关于打包证书的说明, 打包证书可以当前hbuilderx自带的也可以选择自制的,这个不影响上架,区别在于自带的不需要填写任何选项直接编译打包即可,而自制的需要填写当前选项,如果在某些场景下需要app的签名建议使用自制的证书,因为可以直接通过java jdk提供的工具可以从中读取到一个36位的加密字符串的签名.完成上述操作后就可以点击打包了,在打包之前会经过编译的过程,若果代码中出现如document等则会编译失败,因为app不能出现h5的语法,在实际开发注意。

     3  上传

        1  打开https://support.google.com

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    2 向下滑动 点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    3 点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    4 进入

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    5  点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    说明  最好阅读一下本章内容

    6 点击申请创建

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程6

    7 填写信息 ,注意选择的语言和实际填写的语言,边填写边保存

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    8  填写完成后跳转应用发布,箭头所标都是要填写的选项

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    说明 如果出现如下报错

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    需要修改打包配置文件的

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    9  完成上面的配置后 ,直接发布生产版本

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程d

    说明 到此基本上已经完成发布,在发布之前如果出现警告可以忽略,直接发布即可。

    https://www.likecs.com/show-203550407.html

  • uni-app云打包上架谷歌市场

    uni-app云打包上架谷歌市场

    谷歌市场(Google Play)上架的app安装包需要64位,且证书年限需要至少50年以上。要求HBuilderX2.1.5+

    1、修改配置文件

    依次点击“mainifest.json->App常用其他设置->支持CPU类型”,选择上armeabi-v7a、arm64-v8a两个类型。

    对三种类型做一下简单介绍:

    • armeabi-v7a:第7代及以上的ARM处理器(ARM32位),市面上大多数手机使用此CPU类型
    • arm64-v8a:第8代、64位ARM处理器(ARM64位),最近两年新发的设备使用此CPU类型
    • x86:少部分平板使用x86,as模拟器中选了intel x86时也是这种情况。(雷电夜神等三方模拟器模拟的是arm架构,不是x86)

    参考文档:

    Android平台配置支持的CPU类型(64位):https://ask.dcloud.net.cn/article/36195

    2、云打包

    依次点击“发行->原生App-云打包”,在渠道包中选择GooglePlay,生成谷歌可用的64位包,若不勾选或者选择其他渠道包则不能生成符合谷歌的安装包。

    3、等待打包成功生成apk的包即可。

    Google Play 上架

    务必确保将HBulider X升级到3.2.15+版本。离线打包需要将离线打包SDK升级到3.2.15+版本

    App提交云端打包时请务必勾选“GooglePlay(AAB)”渠道

    Google Play上架审核要求比较严格,应用中不能存在以下行为:

    • 不能直接下载apk方式安装应用,需引导用户到Google Play安装
    • 不能存在动态加载代码行为

    uni-app中部分功能模块不符合Google Play审核要求,请仔细阅读下面章节。

    必须适配Android11

    “App常用其它设置”中需要将targetSdkVersion设置值大于等于30

    注意:务必在Android11设备上进行测试,确保应用所有功能可以正常运行

    不能包含安装应用权限

    在App权限配置中不要勾选 android.permission.INSTALL_PACKAGES、android.permission.REQUEST_INSTALL_PACKAGES 权限

    离线打包:

    1. 更新SDK3.2.15+版本
    2. 请查看原生项目中的AndroidManifest.xml。如果包含以下权限请手动删除:
    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    注意:如果使用了uni原生插件,可能会添加安装应用权限,请联系uni原生插件作者确认

    不要使用QQ登录、QQ分享模块

    使用QQ登录、分享功能时,如果当前设备上没有安装QQ应用时,会引导用户下载安装,不符合Google Play的审核要求,因此提交到Google Play时不要勾选QQ登录及QQ分享模块

    离线打包:

    请不要集成qq_mta-sdk-xxx.jar,qq_sdk_vxxx.jar等SDK。如果有请删除

    不要使用国内增强广告SDK

    uni-AD国内增强广告(如穿山甲、广点通、快手等SDK)显示的广告落地页可能会引导用户下载安装apk,不符合Google Play的审核要求,因此提交到Google Play时不要勾选增强广告SDK

    注意:uni-AD 广告基础功能不受影响

    离线打包:

    请不要集成国内增强广告相关依赖库 ks_adsdk-ad.aar、windAd.aar、GDTSDK.unionNormal.aar,open_ad_sdk.aar,torch-adcore-xx.aar。如有请删除

    不要使用X5内核

    腾讯TBS(X5)内核在Android平台解决了很多适配问题(详情可参考:https://ask.dcloud.net.cn/article/36806),但它使用了动态热更新技术,不符合Google Play的审核要求,因此提交Google Play时不要勾选使用“Android X5 Webview(腾讯TBS)”模块

    离线打包:

    请不要集成X5相依赖库webview-x5-release.aar,如有请删除

    其它相关问题

    uni-app 提交 aab 版本到 Google Play 提示 API 级别过低的解决办法

    发现问题
    近日准备发布新版本上架到 Google Play 上时,突然出现了 Change your app’s target API level to at least 31 的提示。

    在查阅相关资料后,得知 新应用必须以 Android 12(API 级别 31)或更高版本为目标平台;Wear OS 应用除外,此类应用必须以 Android 11(API 级别 30)或更高版本为目标平台。自 2023 年 1 月起,应用更新必须以 Android 12 或更高版本为目标平台,并针对 Android 12 中的行为变更进行调整;Wear OS 应用除外,此类应用必须以 Android 11 或更高版本为目标平台。

    详情请看: 符合 Google Play 的目标 API 级别要求 。

    解决问题
    此时只需要将应用配置文件 manifest.json 中的 App常用其他设置 的 targetSdkVersion 设置成 31 ,然后重新提交到云打包,将打包好的 aab 再次去提交到 Google Play 就不会再报错了。

    填好 App 必要信息,提交去审核,大概两个工作日左右就可以上架到 Google Play 了(前提是你的App不违规喔~)。

  • Google Play 上架全流程_2023年谷歌应用商店上架流程

    Google Play 上架全流程_2023年谷歌应用商店上架流程

    Google Play 上架全流程_2023年谷歌应用商店上架流程

    今天来说说谷歌上架的那点事。

    游戏出海逐渐成为这几年的游戏从业者的新潮流,说到游戏出海就绕不开Google Play这个巨头渠道,垄断了安卓渠道90%以上的流量,动辄就是百万千万的下载,是出海必须要搞定的核心渠道。

    ​

    相比国内渠道一直有商务和运营对接cp方,google play则是完全的自动化,从开发者账号——游戏/App上架——手动/违规下架,整个流程只有你和google play的开发者后台,谷歌的各种政策改变,通知沟通基本都是开发者后台的信息或者邮件触达,不会有专人来负责。

    这样的流程化运作就导致很多刚开始做海外市场的产品人/游戏人有点无从下手,其实摸透了Gp(google play)的系统逻辑,这一套流程是有套路可循的。

    本期主要简单说一下2022年上架google play的流程,也就是涵盖申请开发者账号——上架提审这部分。

    一、申请开发者账号

    网络问题自己搞定,这里不多说。

    如果这一步都搞不定,就到这吧,不用往下看了,省点时间干点别的吧,出海这条路不适合你。

    不过你可以使用VPN先有船出个海:https://portal.shadowsocks.au/aff.php?aff=43068

    ​

    这一步你需要准备好以下几样东西:

    1. Gmail邮箱
    2. Visa信用卡
    3. 实名认证信息

    要准备的东西挺简单的,但为了防止踩坑,我再多说两句。

    Gmail邮箱

    自己申请!自己申请!Gmail邮箱有手机号就可以申请,国内的手机号也照样申请。如果提示手机号无法验证,一定是你注册的方式不对。

    看了哥的这篇文,少走弯路少花冤枉钱,这里说个知识点!注册的时候用QQ邮箱/网易邮箱,注册里选Gmail,按顺序搞就好了,直接用网页注册可能会被提示手机号无法验证。

    Visa信用卡

    这是国内最好申请的可以直接用于谷歌开发者账号支付的银行卡。

    对,你没看错!谷歌开发者账号是要钱的,25美元,也就是人民币160元左右。

    而且每个银行卡只能绑定一个开发者账号,也就是说你用这张visa卡开通了一个开发者账号,之后就不能再用这张卡再开新的开发者账户了!

    实名认证信息

    实名认证2022年上半年,还有一些国家是可以免认证的,但是到下半年后全球范围都需要实名认证信息了。注册的是哪个国家的账号就需要提供该国的实名认证,护照啊,身份证这类的,而且谷歌会审核,审核还是很严格的,你提交的信息如果有造假啊,图片模糊啊等问题,都会被实名拒审。

    拒审后你可以通过邮件申诉,重新提交。但整体流程就比较麻烦了,而且多次拒审后,这个账号基本就是废废了,你注册所花的25美金也不会退还。

    对于批量需要开发者账号的同学来说,还是直接购买吧,省时省事。

    需要开发者,可联系Q2500518158

    ​重点的部分都说完了,剩下的具体流程,跟着系统指引一步步走就好了,网上一搜也是一大把教程,这里就不多说了。梯子给你了,爬就自己爬吧!

    申请谷歌开发者账号的网址:

    https://play.google.com/console/about/

    Google Play管理中心帮助网址:

    https://support.google.com/googleplay/android-developer/answer/6112435

    大概的申请流程:

    ​

    只要你的流程没问题,交了钱就立刻开通了,开通后就可以上架,无需等待。

    二、上架游戏/APP

    上架之前先准备几个东西

    1. aab包
    2. 商店素材
    3. 上架文案
    4. 隐私链接

    还是搭梯子给你们,以防踩坑。

    1.aab包

    从2021年9月1日开始,上架google play的包统一都要是aab格式,非aab格式是无法上传包体的。

    aab的包和Apk的包本质的差别是在打包方式上,相关技术需要自己摸索下。

    同时,在打包时还需要注意2点:

    (1)目前Google Play管理中心对Android 10的目标安全级别要求至少为31!

    (2)安卓应用程序包应先加固好再进行上传,先上传再加固可能会出现问题。

    ​

    2.商店素材

    这个和国内上架需要素材的需求差不多,重点就在尺寸和大小方面,直接看下图。

    看着很多,实际上手机和平板可以共用相同的图,不需要额外作图。

    ​

    3.上架文案

    在Google play上需要显示的产品介绍,需求如下图

    ​

    4.隐私链接

    如果你的应用和游戏会获取一些用户的隐私权限,比如说手机号啊、通讯录之类的,就要记得上传隐私链接,如果你没有服务器可以架网页的话,也可以用取巧的方法托管到三方平台上。

    这里不多说了,可以自己百度了解。

    这四个部分准备好了,基本上就可以开始上架了。

    上架过程很简单,按照初始设置里的首要步骤一步一步操作即可。如下图

    这里尤其需要关注的是“内容分级”部分,分级错误会导致应用/游戏审核失败。

    Google Play的“内容分级”是通过自主填写问卷的方式,由系统得出一个分级标准,提审之前可以多次修改,一般同一类的产品分级都是差不多的。

    发布【正式版】之前也可以考虑先测试,测试部分包括【内部测试】、【封闭式测试】和【开放式测试】,但一般直接发布【正式版】就好了,想要调整什么可以热更或者发布个新版版。

    发布成功后,后台显示如下图,截图的是2022年最新版的后台,如果看到其他类型的截图基本都是老版本了。

    游戏/APP成功上架后,在信息中心就可以看到自己的产品了。

    ​

    三、版本更新的注意事项

    这里再补充两点容易忽略的小细节:

    1. 版本号
    2. App Bundle探索器
    3. 后台中英文切换

    1.版本号

    每一次更新版本都需要提升版本号,不然是无法上传新版本的.

    2.App Bundle探索器

    GP后台的App Bundle探索器说白了就是个版本记录器,但这里有个坑是,如果你上传了新版本的包,即使没有发布,你也舍弃了该版本,仍会记录在App Bundle探索器里。

    你再次上传这个新版本的包,就会提示你“版本号已存在”。此时你需要删除App Bundle探索器之前未发布的版本,才能重新上传这个新版本。

    哈哈,是不是令人窒息的操作。

    ​

    3.后台中英文切换

    这个语言的切换我感觉也非常反人性,我第一次改的时候把GP后台翻了个底朝天都没找到。

    谷歌开发者后台的语言是跟着谷歌账号走的,所以把谷歌账号的语言改成中文,开发者后台的语言也就自动切换了!

    更多Google Play上架或者出海相关的问题,也欢迎找我交流。

  • 如何使用 AI 在 WordPress 中生成图像 wp插件Imajinn

    如何使用 AI 在 WordPress 中生成图像 wp插件Imajinn

    你想使用像DALL.E这样的人工智能工具在WordPress中生成图片吗?

    AI 生成的图像可以成为为您的 WordPress 博客文章生成图像的一个很好的替代方案,而无需担心版权问题。

    在本文中,我们将向您展示如何使用 AI 在 WordPress 中生成图像。

    为什么要使用 AI 工具为您的 WordPress 网站生成图像?

    有大量付费图片网站提供图片以在您的WordPress 网站上使用,收取少量费用。

    但是,这些图像的成本是额外的费用。大多数博主和小型企业没有这方面的预算。

    肯定有许多网站提供免版税图片,例如 Unsplash 或ShutterStock的有限免费图片库。

    但这些图像被过度使用,而且往往过于笼统。

    现在,为您的网站创建图像的最佳方式是制作您自己的图像或使用您自己的照片。但并不是每个人都是专业摄影师或数字艺术家。

    这就是人工智能的用武之地。

    DALL.E 等人工智能工具可以根据用户提供的文本描述生成独特的艺术品。

    这些图像不仅独特,而且极富创意和艺术性。

    例如,这是一张由 DALL.E 2 生成的带有日落背景的办公桌图像。它模仿了您可以在数百个网站上找到的通用库存图片的风格。

    现在看看这个由 DALLE.2 创作的艺术作品示例。

    这个是艺术的,更加丰富多彩,并且是漫画书风格。

    您可以在 DALL.E 主页上看到您可以使用的各种风格、主题和想法。

    最好的部分是您可以自由地将这些图像用于您的博客文章、文章,甚至登录页面。

    话虽如此,让我们来看看如何在 WordPress 中轻松使用 AI 生成的图像。

    我们将使用两种不同的 AI 工具向您展示两种方法,您可以选择最适合您的一种。

    1. 使用 DALL.E 为 WordPress 生成 AI 图像 2

    DALL.E 2是Open AI出品的一款人工智能工具,以其艺术渲染、超现实主义、创造力和多功能性而广受欢迎。

    没有可用于将 DALL.E 2 直接与您的 WordPress 网站集成的插件。

    但是,您可以在 DALL.E 2 网站上创建图像并将它们下载到您的计算机上。之后,您可以将这些图像上传到您的 WordPress 网站。

    首先,您需要访问DALL.E 2 网站并注册一个免费帐户,第一个月可获得 50 个积分。

    注册后,您会看到带有提示字段的 DALL.E 仪表板和 DALL.E 最近生成的一些艺术作品。

    在提示字段中键入要生成的图像的文本描述。您可以随心所欲地描述性和创造性。

    单击 Surprise Me 按钮以查看您可以生成的一些提示示例。

    单击“生成”按钮后,AI 将根据您提供的提示生成图像并显示四个结果。

    如果需要,您可以将它们全部下载到您的计算机上。您还可以单击任何生成的图像进行编辑。

    DALL.E 中的图像编辑器允许您扩展框架或平移。您还可以擦除或润饰图像的某个区域。

    再次单击“生成”按钮,AI 会根据您的更改重新生成图像。

    将图像下载到计算机后,您可以切换回 WordPress 网站的管理区域。

    您现在可以通过访问媒体 » 添加新页面将图像上传到您的 WordPress 媒体库。

    您还可以将图像直接添加到您的 WordPress 帖子和页面。只需编辑要显示图像的帖子或页面。

    在帖子编辑屏幕上,添加图像块,然后从您的计算机上传图像。

    DALL.E 2 生成的图像使用的许可证是什么?

    您保留您向 DALL.E 2 提供的提示生成的图像的版权。

    您可以在任何地方使用这些图像,包括您的 WordPress 网站、YouTube 视频、电子书、杂志等。

    2. 使用 Imajinn 在 WordPress 中生成 AI 图片

    对于第一种方法,我们将使用 Imajinn AI 在 WordPress 中生成图像。

    Imajinn AI 类似于 DALL.E 2、Midjourney 和 Stable Diffusion 等工具。它根据您提供的提示使用人工智能生成图像。

    首先,您需要安装并激活Imajinn插件。有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

    注意:基本插件是免费的,并为您提供 10 个学分。之后,您可以从插件网站购买更多积分。

    激活后,您需要访问Media » Imajinn AI来配置插件设置和生成图像。

    首先,您需要通过提供电子邮件地址和密码进行注册以创建您的帐户。

    之后,您将能够开始使用 Imajin AI 生成图像。

    只需提供描述您要生成的图像的详细提示。

    您还可以从样式列表、艺术家风格、样式修饰符过滤器和纵横比中进行选择,以进一步自定义您的提示。

    在其下方,您可以选择单击“召唤”按钮以启动“提示精灵”工具。

    根据您提供的提示描述,该工具将建议进一步的提示想法以生成最佳图像。

    您可以单击生成按钮以使用建议的提示,或通过复制建议中的想法继续编写您自己的提示。

    满意后,单击“生成”按钮继续。

    该插件现在将开始使用在云端运行的 AI 工具生成图像。完成后,它将显示四种图像供您选择。

    在每张图片下方,您会找到分享图片、修复面孔(AI 不擅长生成人脸)或修饰图片的选项。

    您也可以只单击“保存”按钮将图像存储在您的 WordPress 媒体库中。

    要在 WordPress 帖子和页面中使用图片,只需编辑要添加图片的帖子或页面。

    在后期编辑屏幕上,在要显示图像的位置添加图像块,然后单击媒体库。

    接下来,您需要从媒体库中选择您之前保存的图像,并为该图像提供替代文本。

    之后,继续并单击“选择”按钮以插入图像。

    该插件还带有一个 Imajinn 块,您可以将其添加到您的帖子或页面并在块编辑器中生成图像。

    Imajinn AI 生成的图像使用的许可证是什么?

    Imajinn AI 生成的所有图像均在免费域或 CC0 许可下提供。

    您可以根据需要在您的网站上自由使用它们。

  • uniapp直接跳转应用商店

    uniapp直接跳转应用商店

    参考一:

    // 跳转应用商店
    export const jumpToAppMarket = (code) => {
    // 可以根據文檔換成其他商店 https://www.jianshu.com/p/b544810beac3
    const googlePlay = “com.android.vending”;

    if (plus.os.name == "Android") {  
        var Uri = plus.android.importClass("android.net.Uri");  
        var Intent = plus.android.importClass('android.content.Intent');  
        var main = plus.android.runtimeMainActivity();  
    
        var uri = Uri.parse("market://details?id=" + 包名);  
        var intent = new Intent(Intent.ACTION_VIEW, uri);  
        // 选择进入商店  
        intent.setPackage(googlePlay);  
        intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK;  
        // 没有该商店应用  
        if (intent.resolveActivity(main.getPackageManager()) !== null) {  
            main.startActivity(intent);  
        } else {  
            // 跳转浏览器  
            let uri = Uri.parse("https://play.google.com/store/apps/details?id=" + 包名);  
            let intent = new Intent(Intent.ACTION_VIEW, uri);  
            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK;  
            intent.setPackage('com.android.browser');  
            main.startActivity(intent);  
        }  
    } else {  
        plus.runtime.openURL('itms-apps://itunes.apple.com/cn/app/id{appid}?mt=8');  
    }  

    参考二:安卓是指定包名跳转,iOS需要指定id

    if (plus.os.name == "Android") {
      // 跳转安卓应用市场
      let appurl = "market://details?id=com.tencent.mm" //这个是通用应用市场,如果想指定某个应用商店,需要单独查这个应用商店的包名或scheme及参数
      plus.runtime.openURL(appurl)
    } else {
      // 跳转AppStore
      let appleId = 纯数字id
      plus.runtime.launchApplication({
        action: `itms-apps://itunes.apple.com/cn/app/id${appleId}`,
      })
    }

  • WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress网站更换域名通过SQL语句操作MySQL数据库可以批量替换域名,新手站长网分享MySQL批量替换域名的SQL

    MySQL数据库批量替换域名SQL语句

    修改WordPress配置表wp_optionsSQL语句:

    UPDATE wp_options SET option_value = replace( option_value, '原域名地址', '新域名地址') WHERE option_name = 'home' OR option_name ='siteurl';

    修改文章数据表wp_posts中绝对地址的语句:

    UPDATE wp_posts SET post_content = replace( post_content, '原域名地址','新域名地址') ;
    UPDATE wp_posts SET guid = replace( guid, '原域名地址','新域名地址')

    修改评论表wp_comments中的语句:

    UPDATE wp_comments SET comment_content = replace(comment_content, '原域名地址', '新域名地址') ;
    UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '原域名地址', '新域名地址');

    SQL语句执行方法

    登录到MySQL管理平台phpMyAdmin,选择数据库,选择右侧的“SQL”,输入SQL语句,点“执行”即可,如下图:
    WordPress更换域名MySQL数据库批量替换SQL语句

    1. WordPress数据库前缀,默认是wp,请修改成自己的MySQL数据库前缀;
    2. 原域名和新域名记得修改成想要操作的域名。

  • WordPress ChatGPT 对话插件 WP-ChatGPT

    WordPress ChatGPT 对话插件 WP-ChatGPT

    WP-ChatGPT 是一款基于 ChatGPT 的 WordPress 对话插件,支持通过简码无缝接入任意主题。

    ChatGPT 是目前最强的 AI 之一,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。

    主要特性有:

    双接口,同时支持网页版和最新推出的API版。
    额度及套餐系统,支持设置套餐和额度,方便进行流量变现。
    接口轮询机制,最大限度解决单一账号易达请求上限的问题。
    完善的会话机制,前台支持同时多会话切换,支持对任一消息进行重载,删除。
    回收站功能,支持前端删除的消息和会话移动至回收站。
    使用WordPress的账号体系,基本可与主题无缝配合。
    问答流式响应及Markdown解析。
    支持 PHP >= 7.4 版本。
    支持后台一键更新。


    价格
    专业版:¥6500/包含一次代安装服务和后续更新

    相关图片:

  • 2023完整iOS APP发布App Store上架流程指南1

    2023完整iOS APP发布App Store上架流程指南1

    如果你是新手,将在这里清晰发布到App Store整个上架流程,还有相应的流程解决方案。
    如果你上架过iOS APP,这里会了解到有更快捷的上架过程。
    上架iOS最基本需要一个付费的开发者账号,还没有的话申请一个或者借用。
    通常也还需要一台Mac电脑,不过这里介绍到不用Mac在Windows系统中直接发布iOS APP到App Store。
    如果没有Mac,也无所谓。
    申请开发者账号介绍
    iOS APP上架需要创建一个APP ID、申请iOS发布证书、再用iOS证书打包IPA,然后在上传IPA到App Store
    上架过程分七个步骤,按步骤一步步来,清晰了步骤就跟简单了,欢迎交流!
    1、创建APP身份证(App IDs)
    2、申请发布证书
    3、申请发布描述文件
    4、Windows下上传证书编译打包
    5、在iTunes Connect创建App
    6、Windows下上传IPA到App Store
    7、上传好IPA回到iTunes Connect填写APP信息并提交审核
    一、创建唯一标示符App IDs
    APP IDs在后面创建发布文件,创建APP时都要用到。
    首先打开开发者中心https://developer.apple.com/cn/,进入证书页面。
    1.1点击证书、ID及配件文件,进入设置。

    1.2选择App IDs –>点击+创建一个新的App ID

    其中有两项需要你自己填:
    第一项Name,用来描述你的App ID,这个随便填,没有什么限制,最好是项目名称,这样方便自己辨识(不允许中文)
    第二项Bundle ID (App ID Suffix),这是你App ID的后缀,需要仔细填写。用来标示我们的 app,使它有一个固定的身份,和你的程序直接相关。填写 Explicit App ID 的格式为:com.company.appName,一定照着格式写,写个方便记的,后面很多地方要用到。
    第三项App Services,默认会选择2项,不能修改,其它根据自己需要的服务选择上,然后点击Continue确认,下一步。

    检查下没有错的话直接点击Register后点击Done完成App ID的创建。

    上传app包文件到app store后台。
    方法1.借助辅助工具appuploader,首先按照流程注册登录后,即可直接创建证书,通过hbuilder上传
    创建ios(.p12)证书
    1.点击苹果证书

    2.新增苹果证书

    3.输入证书密码:这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。
    证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类
    4.选择证书类型: 带distribution的是发布类型,带development的是开发类型。apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的

    1. 选择bundle ID:只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。
    2. 使用appuploader服务同步:如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。
    3. 证书类型说明:IOS开发选择apple development或者ios app development 类型
      ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)
      开发推送证书选择 apple push notification service ssl (sandbox)
      发布推送证书选择 apple push notification service ssl (sandbox & production)
      其他证书不是很常用,可以自行百度各种证书说明。

    8.官遇到问题,首先登录文章开通的苹果开发官网。检查是否有权限/是否被停用/是否过期/是否有协议需要同意。在右上角切换账号检查所关联的账号是否功能正常。Apple邮箱会接收到许多通知消息,如IPA上传,账号发生变化,被停用,都会有消息提示。

    9.上架版本需要使用正式的证书(apple distribution),开发测试用开发证书(apple development)

    10.一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要 Apple Pay 的证书。证书无需创建太多,apple对证书有数量限制,一般3个开发证书就不让创建更多同类型的证书了。
    11.点击p12下载到电脑。

    添加测试设备UDID
    1.点击udid

    2.新增udid

    创建描述文件
    1.点击描述文件

    2.点击新增描述文件,在弹出框里面选择要安装测试到的设备,如果是发布类型无需选择设备。选择使用的证书,如果忘记是哪个 了可以选择全部证书。

    3.描述文件类型说明:带app store类型的是发布类型,带development的是开发类型,push没有描述文件,所以不要问推送选择哪种描述文件类型,os开发选择ios app development类型,发布app的时候选择app store类型。(ps:除了APP Store类型的描述文件外,其他的描述文件都需要选择测试设备)
    4.点击下载按钮下载桌面

    测试安装App
    1.以HBuilder打包Vue项目为例,打开详细设置进行设置完成后,点击保存。

    2.官菜单项点击‘发行-> 云打包-打原生包’,出现如下图所示弹框,取消广告勾选,没有错误提示,选择刚才制作的p12和.mobileprovision文件,输入刚才设置的证书密码。点击打包,等待打包未完成(仅以ios为例)

    3.官打包完成后点击确定“OK”按钮查看打包状态信息,打包完成后,保存安装包到目标文件,发送到手机端安装即可运行。

    4.测试设备:如果选择的类型是ios app development 类型,则全部测试设备旁边必须有测试设备并且勾选上,如果没有显示测试设备,点击框框下面的添加测试,然后把测试设备的udid输入,把ios设备连接到当前pc,会自动获得设备的udid。 如果app编译后无法安装到设备,可能是因为设备的udid没有添加进入描述文件,则需要添加描述文件后重新编译。

    方法2.Xcode上传,这里简单讲下步骤:

    构建打包ipa文件

    打包成功后,选择具体包版本,点击Distribute App。

    选择App Store Connect。(Ad Hoc选项代表出包给测试人员测试)

    点击next,后面几个步骤都点击Next按钮,选项配置不用管都按默认的走。

    最后点击Upload,就开始上传了,耐心等待。我大概6分钟就上传成功了(包文件如果大或者网速慢时间相对会比较长)。这是我上传成功的截图:

    上传成功后,登录App Store Connect,进入app详情页面,点击顶部TestFlight,在构建版本中就可以看到你刚上传的版本,状态一般会显示正在处理。

    如果等了很久(10分钟左右吧)刷新页面还是没看到上传的构建版本,那么就是ipa包被拒绝了,这时候一般会收到拒绝原因的邮件。我就是这种情况?(包含过时的UIWebView),邮件如下:

    解决问题,重新上传就行了。 最终上传构建的app版本状态显示为准备提交才能提交审核,状态从正在处理变为准备提交我等待了20分钟左右,这个时间是不固定的,看具体情况,类似那种几百兆的app,时间就会特别长。

    选择APP版本,提交审核
    登录App Store Connect,进入App详情页面,找到构建版本,然后选择一个最新提交的构建版本。

    滑动页面到最顶部,点击存储,然后再点击右边的添加以供审核,确认相关信息后,就提审成功了。

    接下来就是等待审核,苹果审核时间大多集中在晚上凌晨或者第二天早上6-8点, 顺利的话一般2天左右就有审核结果。

    等了2天,“不出意外”,我提交的审核被无情的拒绝了:

    这种情况没办法,只能根据实际情况去进行修改,或者做出必要的解释说明。被拒绝多次也是很常见的,反正耐心的去解决苹果提出的问题,最终都会通过审核的。

    至此,iOS app上架app store流程就结束了。

    四、上传证书编译打包
    这里以APPcan平台为例
    4.1、选择完工的APP,点击应用打包,选择证书管理,iOS发布证书,上传之前申请的发布证书和申请时设置的密码及发布描述文件
    点击检验,APP ids将自动出现,然后保存。

    4.2选择云端打包,iOS打包,没有推送证书就不勾选支持推送,选择发布版证书,禁用http请求容易审核通过。
    设置好版本号,选择appcan服务器,点击生成安装包。

    4.3安装包生成成功后,下载保存到电脑,这个ipa包就可以上传到App Store了

    五、在iTunes Connect创建App
    5.1回到软件,点击ItunerConnect,进入iTunes Connect进入创建APP。

    5.2选择我的APP点击左上角+号选择新建APP,输入你的应用名称,语言,套装ID,之前在开发者中心创建的对应APP IDs
    (与创建iOS证书所选的appid要一致,这样用iOS证书打包的IPA,上传就能关联到了)
    sku不能写中文,点击创建。

    5.3这里提示要用到Xcode或者Application loader提交IPA,等下用Appuploader直接在Windows环境下上传ipa,不用Mac了。
    现在APP各项信息都没填写,等下把IPA上传成功了再填写。
    这里构建版本旁边还没有出现+号,后面上传了IPA就会出现,等下会用到。

    六、Windows环境下上传IPA到App Store
    6.1打开Appuploader程序,点击Upload.

    6.2选择刚生成的iap包

    6.3Appuploader将自动上传你的IPA,当出现以下提示时,说明上传成功,点击deail可以查看APP信息。

    七、回到iTunes Connect提交审核
    7.1上传好了IPA,然后回到iTunes Connect,进入填写信息的页面,下边有一个构建版本的选项,之前这旁边没有+号的,如果上传成功了,过几分钟旁边会出现一个加号按钮,点击一下+然后会出现你刚上传的APP,点击完成即可。
    注意:如果一段时间后没有出现+号,可能ipa不符合要求,会有个反馈邮件过来,根据反馈的问题修改后重新上传。

    7.2然后设置好APP相关的信息,截图、类别,价格、销售服务等。

    7.3设置好相应的APP信息后,点击提交以供审核。

    7.3提交审核回到我的APP查看会提示正在等待审核,审核要几天时间,常登陆看看审核情况

    如果变成可供销售,恭喜你~上架成功了,如果显示被拒绝,点击查看问题,根据反馈修改再重新上传。

    更多上架来源:

    https://blog.51cto.com/u_15721717/5607843

    https://baijiahao.baidu.com/s?id=1754992736985413557&wfr=spider&for=pc

    https://www.jianshu.com/p/ed9e1d49ed16

  • 如何获取抖音,快手,好看视频链接地址和下载视频

    如何获取抖音,快手,好看视频链接地址和下载视频

    如何获取抖音,快手,好看视频链接地址和下载视频,如下:

    打开你要的视频网站,找到你要的视频页面,最好用谷歌浏览器打开,打开视频播放后,点击F12或在页面中点击右键,选择检查选项,此时,会打开浏览器的右侧代码框:

    最后,打开上图红框的地址(点右键),找到对应的视频及其网址,打开视频后,可下载视频或复制视频地址!