Write the Code. Change the World.

3月 29

什么是UniversalLink

UniversalLinkURL Schemes 一样,都是跳转 APP 的一种方式。
简单来说就是一个 URL,当用户在浏览器中访问此 URL 时,苹果会检测对应的 APP 是否已安装。已安装则跳转到 APP。未安装则访问此 URL 实际内容。

步骤

1、让后台人员准备一个https的链接,一定要https的(微信硬性要求)

2、制作 apple-app-site-association 文件,并放置在准备好的链接根目录下

3、App Store应用管理和Xcode开启Associated Domains,并填写对应Domains

4、用GET请求测试该链接下的文件内容,并在safari浏览器中测试

5、微信开放平台和SDK注册方法填写相同UniversalLink

6、填写微信新的LSApplicationQueriesSchemes

7、回调测试

具体操作
(1)服务端文件 apple-app-site-association 。json格式,而不需要任何后缀。

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "VQXXXXXD49G.XXX.XXXX.XXXX",
                "paths": [ "/app/*"]
            }
        ]
    }
}

appID 有两部分组成,在苹果开发者平台的 “Certificates, Identifiers & Profiles” -> “All Identifiers” 选中对应的 id,进去就可以看见配置信息了。就是 App ID Prefix 和 Bundle ID 组成。

paths末尾必须是 * ,最好带一个前缀。免得域名被命中。结尾必须是 * 也是微信相关要求的。

上边这个文件传到服务根目录或根目录下的 .well-known 下。

(2)在苹果开发者账号上一步查看 App ID Prefix 和 Bundle ID 的地方,将 Associated Domains 前边打钩保存。
(3)如果涉及到微信登录,需要在开放平台中设置 Bundle ID 和 Universal Links。Bundle ID 和苹果账号中的Bundle ID 一致。Universal Links 可以定义为上一步中使用的服务域名 + paths 组成。比如: https://xxx/app/

(4) 上边的完成后,需要在 xcode 中配置一些信息。先在 ios/Runner/Info.plist 中加入以下配置:

<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
<string>weixinULAPI</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

(5) 在 xcode 中配置 applinks。依次选择 Runner(Targets)->Signning & Capabilities->All 。在 All 的左边点击 Capability,选中并添加 Associated Domains。然后点击 + 号配置 Domains。比如: applinks:www.xxx.com (applinks 这个是固定不变的 www.xxx.com 是你的服务的地址。只需要域名即可。并且该域名无中间跳转)

(6) 在 xcode 中配置 appid。依次选择 Runner(Targets)->Info->URL Types。点击+号,添加一个。在 URL Schemes 出填写微信开发平台中申请 app 接入的 appid,Role 为默认的 Editor 即可。其他不用填。

到此,基本的配置也算完成了。然后就是测试一下。他们喜欢添加一个记事本,写个Universal Links 链接,然后点击跳转到 safari 试试效果。我这样开始是失败的。反正上边的步骤来了好几次。后来,我直接打包成 app,在APP里调用微信登录。能呼起app 也有效果。也能返回。然后再点击记事本里的链接。直接跳转到 app,而不是进入 safari。证明之前的配置是有效果的。

相关

支持通用链接

允许应用程序和网站链接到您的内容

处理通用链接

测试

参考

https://juejin.cn/post/6844904051042156551

3月 23

composer 安装包的时候,可能出现 memory 不足问题处理。

error

PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

解决步骤

  • 使用 composer -h 找到 composer 的位置.
  • 开始安装
php -d memory_limit=-1 /usr/local/bin/composer require laravel/sanctum
3月 08

苹果 app 要上架,就得有开发者账号。所以注册和购买就是很必要的事情。怎么做呢。

  1. 邓白氏编码。我已经有了。
  2. 注册苹果账号,暂时只能定义为苹果账号。
  3. 开始打开网站注册 https://developer.apple.com,填入公司主体以及邓白氏编码等信息。等待审核。
  4. 审核通过后,付款吧。

相关信息

https://www.jianshu.com/p/8ffe1f35fa2f

3月 04

水波纹效果用在导航栏中的确是很难看。就是想干掉。

bottomNavigationBar 去掉水波纹效果。

套一层 Theme 搞定

bottomNavigationBar: Theme(
        data: ThemeData(
          brightness: Brightness.light,
          splashColor: Colors.transparent,
          highlightColor: Colors.transparent,
        ),
        child: BottomNavigationBar()
        )

组件大全:
https://edu.csdn.net/learn/14065

来源

https://blog.csdn.net/mubowen666/article/details/104569812/

3月 04

抓包工具 Fiddler Everywhere。有时候,抓取 app 中的数据很有必要。这个时候抓包工具就上场了。还是一如既往的使用 fiddler。可是 Fiddler Everywhere 界面更美观,更好用。

https://www.telerik.com/download/fiddler-everywhere

更多

https://www.cnblogs.com/jinjiangongzuoshi/p/13577025.html

https://www.fujieace.com/penetration-test/fiddler-everywhere.html
参考上边这个设置完成就 ok 了。

问题

iphone 端,连上了,却不可以上网。

到这来,其实是少做了一步,在苹果手机这来。依次操作。
手机设置->通用->关于本机->证书信任设置,信任就可以了。