bundle

静态库与动态库的区别

自古美人都是妖i 提交于 2020-04-01 18:00:14
一、什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库。 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存空间。 二、什么是.a、.bundle、.framework 在iOS中静态库以.a和.framework的形式存在,动态库以.dylib和.framework的形式存在。 之所以.framework既可能是动态库又可能是静态库,是因为苹果公司禁止用户级App使用动态库,而自己却又堂而皇之的使用动态库,这就造成了iOS中系统级的.framework是动态库,用户级的.framework是静态库。 二者区别不大,.a是纯二进制文件,.a文件不能单独使用,至少要有.h文件配合,而.framework除了二进制文件外,还包含一些资源文件(头文件,plist等),由于自身包含了头文件,所以.framework可以单独使用。 .a和.framework两种静态库,通常都是把需要用的到图片或者xib文件存放在一个bundle文件中,而该bundle文件的名字和.a或.framework的名字相同。 来源: https://www.cnblogs.com/zhang6332/p/6279288.html

反射机制

跟風遠走 提交于 2020-03-28 07:30:48
在Swift中并不提倡使用Runtime,而是像其他语言一样使用反射(Reflect)。当然,目前Swift中的反射还没有其他语言中的反射功能强大,不仅远不及OC的Runtime,离Java的反射也有一定的距离。 Swift的反射机制是基于一个叫 Mirror 的 struct 来实现的 //反射事例 //反射机制,取出类的名字,转换成类,还要强转成类的类型 //1.从Bundle取出项目的名字(命名空间 = “项目的名字”+“.”+"类名") //2.修改命名空间,TARGETS -> Build Setting -> 输入product name ->修改即可 print("\(Bundle.main.infoDictionary)") let clsN = Bundle.main.infoDictionary?["CFBundleName"] as? String ?? "" //3.let class NSClassFromString(className) as? class.Type //4. let cls = class?.init() let clsName = clsN + ".ViewController" let cls = NSClassFromString(clsName) as? ViewController.Type let vc = cls?

Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航

谁说胖子不能爱 提交于 2020-03-24 18:43:25
一、问题描述   在 Android典型界面设计 一文中,实现典型滑动导航界面,其实使用ActionBar 也可以轻松实现这一效果,甚至也可实现类似 Android典型界面设计(3) 的双导航效果。可见ActionBar还是比较强大的,关键要深入进去、灵活的运用,下面我们就使用ActionBar实现如图所示的效果: 二、本例特点 1、 兼容低版本 2、 使用ActionBar 分体设计(split) 3、 Tab使用自定义View 4、 结合ViewPager实现滑动导航 三、代码讲解:    1、在项目中加入v7兼容包   要向下兼容需要在项目中加入v7兼容包的android-support-v7-appcompat,并创建MainActivity时,继承 ActionBarActivity public class MainActivity extends ActionBarActivity implements TabListener, OnPageChangeListener{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initActionBar();

静态库与动态库的区别?

笑着哭i 提交于 2020-03-23 23:41:03
一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。 三、iOS里静态库形式? .a和.framework 四、iOS里动态库形式? .dylib和.framework 五、framework为什么既是静态库又是动态库? 系统的.framework是动态库,我们自己建立的.framework是静态库。 六、a与.framework有什么区别? .a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。 .a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。 .a + .h + sourceFile = .framework。 建议用.framework. 七、为什么要使用静态库? 方便共享代码,便于合理使用。 实现iOS程序的模块化。可以把固定的业务模块化成静态库。 和别人分享你的代码库,但不想让别人看到你代码的实现。 开发第三方sdk的需要。 八、制作静态库时的几点注意: 1 注意理解:无论是.a静态库还.framework静态库,我们需要的都是二进制文件+.h+其它资源文件的形式,不同的是,.a本身就是二进制文件,需要我们自己配上

利用服务器实现疫情查询小系统(Web版+APP)

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-22 20:39:49
  本次任务要求:结合之前的数据可视化,数据爬取,配合服务器实现外网访问,并做出一个手机app实现访问数据。!!!【由于写该博客时插入图片出现问题,因此效果无法展示,部分地方会进行文字描述】   思路分析:数据可视化和数据爬取沿用前两周任务代码即可,问题在于服务器搭建和app的制作。服务器我在阿里云以学生价租用了一个, app使用Android Studio制作即可,需要解决的问题是Android访问远程MySQL数据库。   关于使用服务器实现外网访问Web项目:要实现外网访问Web项目,需要在服务器上搭建jdk和Tomcat,将本机上相应Web项目打包成war文件后,复制到远程服务器上Tomcat中webapps文件夹下。随后要在服务器上配置信息:找到服务器实例的安全组,在配置规则里加入端口8080/8080的自定义TCP,入方向和出方向我都设置了一次。在一切配置完之后,即可通过【http://+你的公网ip地址+/项目名/项目名下xx.html或xx.jsp】格式外网访问你的项目。   要实现实时更新数据信息,数据爬取入库和读取MySQL数据库操作需要在远程服务器上实现,因此要在远程服务器上下载MySQL和Python相关应用,我使用的是Navicat for MySQL配合MySQL数据库进行使用。在配置时会出现连接数据库失败的情况,解决方法如下

React Native热更新(iOS)-Pushy

帅比萌擦擦* 提交于 2020-03-21 16:55:02
React Native 的出现,使的开发 iOS 代码出现了更便捷的方式。由于 RN 是使用脚本语言编写的,实现了“解释执行”的方式,而这种执行方式的修改只需替换脚步即可,不需要重新发布程序,热更新的方式极大的方便了迭代开发。 今天我们选择的热更新组件是 Pushy ,这是国内开发的,功能类似 CodePush ( CodePush 在国内访问及其慢,长城宽度根本无法访问), Pushy 支持增量更新,最大化的降低更新的数据量,节约流量。 下面介绍如何利用Pushy进行热更新: 1. 创建react native工程 $react-native init PushyDemo 2. 安装update工具, Pushy热更新需要update配合使用 RN 0.29+ $npm install -g react-native-update-cli RN 0.28及以下 $npm install -g react-native-update-cli rnpm 3. 在PushyDemo目录下添加Pushy组件并自动link RN 0.29+ $ npm install --save react-native-update $ react-native link react-native-update RN 0.27-0.28 $ npm install --save react

send data from activity to another without start it

孤者浪人 提交于 2020-03-21 11:30:31
问题 If I have two activities Activity1 and Activity2 and I want to send data from Activity1 to Activity2 without Start Activity2 I know if I want to start Activity2 I use this code in Activity1.java Intent intent ; Bundle bundle = new Bundle(); bundle.putString(BG_SELECT, hexColor); intent = new Intent(getApplicationContext(), Activity2.class); intent.putExtras(bundle); // this is to start but I want just refresh Activity2 not start it startActivityForResult(intent, uniqueNo); and in Activity2

react native 生成APK

≡放荡痞女 提交于 2020-03-21 10:18:57
参考地址: React native Android 命令 打包apk 首先:尝试使用模拟器测试 这里是因为需要确认目前在电脑上的模拟器是可以正常运行的,并且,开发React native的应用程序,肯定是需要做一些本地测试的 第一:生成签名密钥 这一步的操作主要是生成需要的签名密钥,供android调用,生成的文件待用 在项目根目录运行以下命令,输入的密码是比较简单的1234567890 keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 第二:设置gradle 分两步: 第一步:配置全局的gradle变量 打开C:\Users\chenwes\应该是可以看到一个文件夹 .gradle ,打开后,应该也有一个文件 gradle.properties ,如果不存在该文件,可以手动创建,并在该文件中输入以下内容 TEST_RELEASE_STORE_FILE=my-release-key.keystore TEST_RELEASE_KEY_ALIAS=my-key-alias TEST_RELEASE_STORE_PASSWORD=1234567890 TEST_RELEASE_KEY_PASSWORD

react-native 签名

帅比萌擦擦* 提交于 2020-03-21 10:18:31
完成项目时,我们需要将项目打包成一个apk,方便测试以及发布版本. 这时,需要把js代码和图片资源都放进apk中, 并且发布版本还需要签名,今天把这一系列操作记录下来. 一.生成离线bundle包 离线包就是把 ReactNative 和你写的 js文件、图片等资源都打包放入 App ,不需要走网络下载。 首先看一下官方给的参数(中文版): react-native bundle [参数] 构建 js 离线包 参数: -h, --help 输出如何使用的信息 --entry-file <path> RN入口文件的路径, 绝对路径或相对路径 --platform [string] ios 或 andorid --transformer [string] Specify a custom transformer to be used --dev [boolean] 如果为false, 警告会不显示并且打出的包的大小会变小 --prepack 当通过时, 打包输出将使用Prepack格式化 --bridge-config [string] 使用Prepack的一个json格式的文件__fbBatchedBridgeConfig 例如: ./bridgeconfig.json --bundle-output <string> 打包后的文件输出目录, 例: /tmp/groups

Use resource bundles in CocoaPods

我们两清 提交于 2020-03-19 19:36:36
问题 I am making a pod (MySDK) and would like to load the assets from the separate resource bundles CocoaPods generates. However, I can not get it to work. Here is how I tried to load the storyboard: let storyBoard = UIStoryboard(name: "SDK", bundle: Bundle(identifier:"org.cocoapods.SchedJoulesSDK")) This gives the error: 'Could not find a storyboard named 'SDK' in bundle The bundle is added in Xcode: And my podspec looks like this: s.resource_bundles = { 'MySDK' => ['SDK/*/*.{xib,storyboard