uniapp 离线打包 iOS直播文稿 未修正版

栏目: IOS · 发布时间: 5年前

内容简介:最近使用未修正版这样就 OK 了 可以正常上传 这里有个问题需要注意 就是广告内容 建议先删除 官方的指导中 有说明 //#define ENABLEAD 先把这个禁用了 然后删除指定的类库 liblibAdSupport.a 删除后也是正常运行的

最近使用 hbuildx 打包 uniapp 总是失败,而且没有提示失败原因,浏览官方发现官方是有离线打包指导的,所以本文以文字版记载一次离线打包所遇到的问题。

未修正版

离线打包的概念

  1. 使用 hbuildx 生成本地APP 打包资源 如图
    uniapp 离线打包 iOS直播文稿 未修正版
  2. 点击 iOS 本地打包指南(这里原来是 iOS 离线打包指南的,叫做本地打包更形象吧)
  3. 先看一下 iOS 本地打包指南 先说下这里的前提 官方这里是以 h5plus APP 来讲的,也就是说 不是针对 uniapp 的。 这里不赘述 h5plusuniapp 的不同 具体可以见 uniapp 的介绍 和 h5plus 的介绍

    重点说关键点 这里不要管

    uniapp 离线打包 iOS直播文稿 未修正版
  4. 好 开始按照官方的下载打包 还以为之前的删掉了。。。我就用之前下载的了 解压 最新版本 一定要下载最新版本

  5. uniapp 离线打包 iOS直播文稿 未修正版 这个 文件夹是我们需要的 先来处理 打开直接使用 xcode 运行项目(双击运行HBuilder-Hello.xcodeproj)
    uniapp 离线打包 iOS直播文稿 未修正版 框中的文件的文件需要更换 splash 下的文件 要保持文件名一致,如果不一致需要自行修改 info.plist 中的文件名
    第一步 先来更图标、然后打开 storyboard 可以看到图标已经更换了 如果要更换其他启动页图标需要这样设置
    uniapp 离线打包 iOS直播文稿 未修正版 第二步 点击运行先看一下 。。。。 正常
    然后开始更换 h5plus webview 的内容(也就是我们用 uniapp 制作的应用内容)
    第三步 使用hbuildx 的生成本地 APP 包功能生成本地 APP 内容
    uniapp 离线打包 iOS直播文稿 未修正版 这就意味着着生成了, 注意这框出的部分为 appid 我自定义的 如无必要请使用官方的 AppID __UNI__xiaomishu 整个文件夹复制,然后放入 padora/apps 目录下 原来的文件可以删除 然后更改 control.xml 中的appid 属性为 __UNI__xiaomishu (这里的 AppID 就是文件夹的目录名 一定不要错了 也不能随意更改 copy 的时候是什么名就是什么名) 然后xcode运行项目测试
    OK 正常了 我们打包

这样就 OK 了 可以正常上传 这里有个问题需要注意 就是广告内容 建议先删除 官方的指导中 有说明 //#define ENABLEAD 先把这个禁用了 然后删除指定的类库 liblibAdSupport.a 删除后也是正常运行的

问题来了 1、 APP 的名字怎么改。。 名字不对啊

uniapp 离线打包 iOS直播文稿 未修正版

改了bundle_display_name 不行呢? 。。

需要改的是Bundle name 。。。 怎么还不对?

还有几个 name 来改一下 。。。 我错了。。。 这里需要改的是 CFBundleDisplayName

其他改动先不说了 毕竟剩下的就是删类库 改 info.plist 了

请务必做到每一次删除类库或者删除info.plist 属性时点击保存或者使用版本库提交一次 确保项目 能够回滚。 毕竟作为一个 iOS 原生开发的门外汉,每一步都能够恢复回去是一个非常重要的步骤。 当然 熟练后就好了 基本就摸清类库引入的门道了。

下面我需要说的是无意中发现的官方更新的手册 创建精简的项目。 先暂停下 。。。大家听会歌

  1. 好了先说网址 iOS 创建最精简打包项目

先说明 我用的是 xcode 10.1 有一个坑 没有 libstdc++.tbd 。。。。 需要用 libc++.tbd 代替 记住我们不需要 再去下载 libstdc++ 的类库

从libstdc++到libc++ 如果原有项目有libstdc++只需要移除后然后更换为 libc++ 即可。。。。

  1. 开始 创建一个项目 signle view 即可

大家看官方的指导即可创建完精简打包原生项目

下面需要注意的来了。。。。。

运行会报错。。。。。。。。 为什么 需要排查下 。。。点击红点

uniapp 离线打包 iOS直播文稿 未修正版

我这里报错 是因为我一开始拷贝文件的时候弄错了 没有覆盖原文件 而是 再次引用了。。

重来。。。。

重新来过 好了 点击运行正常打包 然后模拟器开始弹窗

  1. 缺失。。 nativeUI Storage模块 NativeObj 模块 navigator 模块 一个个的来

liblibNavigator.a

liblibNativeUI.a

这两个文件没有引入

AVFoundation.framework

AssetsLibrary.framework

AddressBook.framework

CoreLocation.framework

这几个类库没有引入的需要引入

liblibStorage.a storage.framework(这个文件在 hbuild 的离线包里面 不是 ios12.1的基础框架)

liblibNativeObj.a 之前顺手引入了。。

navigator 模块也已经顺手引入了。。。。

看 官方压缩包的那个Excel 继续运行

报错

ld: framework not found storage

是因为在当前项目中找不到这个 storage.framework copy到项目中在引入

OK 了 目前没有报错 打包项目的构建 基本完成

但是。。。。 还没有完。。。 需要你明确项目中用了什么。。。。比如这里。。。

扫码这里就来了。。 所以需要 明确项目中的内容。。。 同时有用到权限申请的需要增加权限描述

比如这个一维码就需要使用摄像头。。。

仍然从Excel 中找 这个 barcode 模块

需要引入 liblibBarcode.a

AVFoundation.framework

AddressBookUI.framework

AddressBook.framework

ImageIO.framework

CoreVideo.framework

CoreMedia.framework

libiconv.2.tbd

这里应该是有坑的。。。。 因为 12.1 中 的 photos.framework photosUI.framewor需要引用 先编译 然后看报错。。。 看不到了 发现好像摄像头没调用啊。。

blibCamera.a(TZImageManager.o)
      ___58-[TZImageManager getOriginalPhotoWithAsset:newCompletion:]_block_invoke in liblibCamera.a(TZImageManager.o)
      ___59-[TZImageManager getOriginalPhotoDataWithAsset:completion:]_block_invoke in liblibCamera.a(TZImageManager.o)
  "_OBJC_CLASS_$_PHImageRequestOptions", referenced from:
      objc-class-ref in liblibCamera.a(TZImageManager.o)
  "_PHImageResultIsInCloudKey", referenced from:
      ___95-[TZImageManager getPhotoWithAsset:photoWidth:completion:progressHandler:networkAccessAllowed:]_block_invoke in liblibCamera.a(TZImageManager.o)
  "_OBJC_CLASS_$_PHImageManager", referenced from:
      objc-class-ref in liblibCamera.a(TZAssetCell.o)
      objc-class-ref in liblibCamera.a(TZImageManager.o)
      objc-class-ref in liblibCamera.a(TZPhotoPreviewCell.o)
ld: symbol(s) not found for architecture x86_64
```  
这串报错就是没有引入 photos.framework
这里还有一个权限。。。。 摄像头权限  info.plist 增加属性 Privacy - Camera Usage Description

后面有一个导入通讯录
等下看看
缺少 contacts 模块

[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.

` 要增加通讯录 描述

基本就是到这里了。。 谢谢大家

之后都是歌曲了。。。。想听歌的可以停一下 看看我的爱好和你是否相同


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能

人工智能

李开复、王咏刚 / 文化发展出版社 / 2017-5-10 / CNY 55.00

人工智能已经来了,它就在我们身边,几乎无处不在。 人工智能技术正在彻底改变人类的认知,重建人机相互协作的关系。史无前例的自动驾驶正在重构我们头脑中的出行地图和人类生活图景,今天的人工智能技术也正在翻译、写作、绘画等人文和艺术领域进行大胆的尝试。 我们真的知道什么是人工智能吗? 我们真的准备好与人工智能共同发展了吗? 我们该如何在心理上将人和机器摆在正确的位置? 我们该......一起来看看 《人工智能》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试