Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6 1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其源码 showInfo.h ========================= #import <Foundation/Foundation.h> @interface ShowInfo : NSObject + (void)showInfo; @end =====================…
添加一个apk都需要将LOCAL_PACKAGE_NAME的值添加到PRODUCT_PACKAGES才行.而PRODUCT_PACKAGES一般在build/target/product/目录下的文件里都有定义 1. 编译模拟器时,会将以下文件中的PRODUCT_PACKAGES定义的apk都编译进去build/target/product/banyan_addon.mkbuild/target/product/sdk.mksdk/build/product_sdk.mkdevelopment/…
问题描述 一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的. #if TARGET_IPHONE_SIMULATOR #define SIMULATOR 1 #elif TARGET_OS_IPHONE #define SIMULATOR 0 #endif 但是宏是预编译时发生作用的,那么在静态库中是否还能够使用宏定义来区分模拟器与真机? 分析思路 宏定义确实是预编译时发生作用的,但是静态库编译出来的.a文件通常是分为模拟器与真机两个的,及时通过lipo合并为fat.a文件,实际运…
详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK 模拟器--更改VDM默认存储路径 真机(Android)环境设置 真机--开启开发者模式 真机-- 打开USB调试 真机连接--文件传输 安装apk文件 通过npm安装Appium Server 启动Appium GUI模式 Appium连接会话 Appium Server安装困难可能出现的原因:…
首先需要安装一个模拟器: 前置条件: 1.jdk环境配置 2.eclipse下载安装(直接解压即可) 3.网站上下载ADT: 由于国内禁止google的浏览,所以需要自己上网找资源,下面这个网站有比较全版本的ADT资源: csdn博客链接:http://blog.csdn.net/cayre/article/details/29624477 提供了三种方式下载ADT,百度云,360网盘,官网下载(网盘的,都是原博主FQ在官网下载直接放上去的,可以放心使用) 4.SDK下载地址:https://d…
利用lipo编译合并iPhone模拟器和真机通用的静态类 如何编译静态类库,而且现在网上也有很多的教程,现在问题时我们编译好了的静态类库会时两个版本的.a文件,分别用于模拟器和iPhone真迹,因此Mac和iPhone的CPU不同,才造成了现在这样的情况,有点像PowerMac和 InterMac. 在使用静态类库时,我们如果想在模拟器调试,就必须把用于模拟器版本的lib加到项目中,同理如果要想运行在iPhone上,我们又必须把真机lib也加到项目中,这样确保两个平台都能运行,但问题是我们总又一…
判断IOS静态库(.a文件)是否支持模拟器和真机运行 在mac终端下,进入到.a文件目录下,然后输入: lipo -info libMyAlertView.a Architectures in the fat file: libMyAlertView.a are: i386 armv7 x86_64 arm64 说明libMyAlertView.a 支持 armv7 i386 x86_64 arm64  这些,所以可以放心使用到项目中.--------------------- 模拟器的架构是…
创建Aggregate的target 在Build Phases 添加Run Script,内容为 scriptFile=${SRCROOT}/universalA.shsh ${scriptFile} universalA.sh放在工程根目录,内容为: if [ "${ACTION}" = "build" ] then echo "合并模拟器真机库" target_Name=${PROJECT_NAME} echo "target_N…
ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framework中分离出各种架构,然后合并你需要的,具体的方式举例如下:   首先从framework中分离出armv7 arm64,或者还有armv7s   lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64 lipo…
转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机). 1.打开终端,进入到这两个文件所在的目录: 2.执行:lipo -create l…
Xcode 7.0 官方免费的真机开发 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载.谢谢合作. 苹果开发须要跟进的还有一篇文档:What's New in Xcode 关于免费的真机开发描写叙述例如以下…
通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机). 1.打开终端,进入到这两个文件所在的目录: 2.执行:lipo -create libSQLite_i386.a libSQLite_arm.a -output libSQLite.a,这时文件就会…
在进行实际代码开发的过程中,我们会生成一些plist文件,但是如何在调试过程中查看这些plist文件是否被成功生成以及生成的内容是否正确? 如果查看模拟器生成的日志和真机生成的日志到底如何查看? DEMO 首先生成一个plist文件 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectroy = [pat…
在MAC环境下配置IOS的appium的自动化测试环境,主要包含三个部分: 一.环境配置 1.安装homebrew(homebrew可以提供MAC OS无法提供的很多套件) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 去homebrew的官网看看如何用吧,哈哈:http://brew.sh/ 安装之后,就可以使用啦,比如: $ brew install…
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我们编译好的系统刷到普通的Android手机上,因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功…
最新支持11.2 (15C107) Xcode只可以支持iPhone手机对应iOS系统以下的真机测试.一般想要支持最新的iPhone手机系统,有两个方法. 第一.就需要更新Xcode,这一个方法有一个缺陷就是,大家都喜欢体验最新的iPhone手机系统,但是喜欢使用Xcode beta版的不是很多,毕竟很不稳定,给Apple公司当小白鼠,感觉踩不完的坑.当然本文推荐的不是第一种,看官莫急,请往下看. 第二.就是对于Xcode的真机支持包更新,真机运行的支持包的位置位于:Xcode.app//Con…
#if TARGET_IPHONE_SIMULATOR //模拟器   #elif TARGET_OS_IPHONE //真机   #endif…
今天呢,又继续看了flutter 弗拉特 的东西,绝的这个东西绝对是比ReactNative更高一层次的,在2018年12月5好,flutter的第一个stale1.0发布了,我们在GitHub上可以看到,之前在github上只有dev,分支和beta分支,许多用flutter开发的app都是用的beta分支上的sdk,那么从今天开始,我们就可以用stale分支的版本开发了,stale分支的变动更新不会那么的频繁,官方说是按季度跟新,也就是三个月更新一次,这一点就深得开发者喜欢,不用频繁更新,吐…
编译环境是Ubuntu12.04.手机nexus 5,编译安卓6.0.1源码并烧录到真机. 源码用的是科大的镜像:http://mirrors.ustc.edu.cn/aosp-monthly/,下载完之后会有一个aosp-latest.tar文件,然后新建一个仓库,把它解压到你的仓库里.这里下载会需要点时间. 然后repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b 你的版本,比如现在我们编译6.0.1的版本,就直接r…
光说不练非好汉,如今就让我们开启自己编译的系统測试!事实上懂得这些过程.就知道了Android手机系统定制的整个流程.现有的智能机都是使用Google的android开源的系统然后加入一些自己的东西.就成为公司的系统! TaintDroid(Android)虚拟机上測试 我们前面讲了怎样编译,编译的成功的标识就是生成system.img文件,例如以下图: sdk替换 拷贝system.img镜像文件,替换掉sdk中的镜像.例如以下图: 对于创建AVD非常easy,这里几张图就能够看懂. wate…
模拟器: localuser:~ localhost$ adb shell shell@android:/ $ su // 数据库复制到 Download 下 shell@android:/ # cp /data/data/your.package.name/databases/your_database.db /mnt/shell/emulated/0/Download/ shell@android:/ # exit shell@android:/ $ exit // 数据库导出到 D 盘 l…
1.现象截图 Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may not be supported by this version of Xcode. 上面的意思是,在调试前我将我手机的iOS系统升级到了最新版11.1版本,而我的Xcode9支持的最高版本是11.0的.那么遇到上面的问题我们怎么解决呢? 2.解决办法 2.1 复制一份旧的SDK,并重新命名为真机测…
1.安装Microsoft .NET Framework 4.5 及以上版本 2.安装Appium 官方网站地址:http://appium.io/ 我装了1.17.0版本 3.安装JDK 1.8及以上 之前装Jenkins时已有,这里不用再装了 4.安卓Android Develop Tools工具 这个工具是用雷电模拟器时为了让模拟的安卓手机处于开发状态:如果用的是真机,直接让手机设置成USB调试模式即可. 安装中需要改变的设置如下,未提到的保持默认: 安装完工具后,需要配置环境变量,再进行…
readelf --relocs foo.o | egrep '(GOT|PLT|JU?MP_SLOT)' 上句大多数时候(和平台有关)可以正确判断是否是以fPIC选项编译的,如果输出为空,基本可以表明不是以fPIC选项编译的,若有输出,基本上表明是以fPIC选项编译的.另外,由于静态库是多个目标文件的打包,所以最好把静态库解包之后再对每个目标文件进行判断,这样比较准确. 如果要用在动态库种,o文件和a文件都应该以fPIC选项编译. PIC地址无关码于非PIC码的区别如下: Position I…
先看两篇博文,作为基础知识.如果对C/C++编译链接过程都了解的话,可以跳过不看. http://www.firedragonpzy.com.cn/index.php/archives/2556 http://www.cppblog.com/shifan3/archive/2007/01/05/17325.html 一.  编译不同目录下的多个文件 各个文件的布局如下: head.h文件的代码: #ifndef  HEAD_H #define  HEAD_H int add(int a, int…
低版本xcode调试本真机高版本系统 //打开此路径把最新的文件拷贝到这里就可以了 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport…
查阅了好多资料都没有发现有相关的详细介绍,包括苹果官方文档,也是草草带过.后来是在一个介绍Macbook打印字体的博客中看到的,受到启发. 首先说明苹果设备绘图的长度单位可以认为是point,不是磅(pt)的意思.该point是一个逻辑概念,是独立于设备的. 图1.不同分辨率屏幕显示1point 对于传统常规屏幕,1 point 映射物理屏幕1 pixel.对于Retina的高分屏,1point映射物理屏幕2 pixel.这样可以统一图形在同一种类不同型号设备上图形的大小. 所以在开发的时候,不…
在实际的项目开发中,我们会碰到某些静态库只能在真机或者模拟器中的一个上可以运行.为了让静态库在模拟器和真机都可以正常的运行,就涉及到如何把一个工程生成的静态库打包以后生成的framework进行合并.下面简单介绍下合并的过程. 首先,说一下静态库的打包 在Xcode顶部,选中工程,点击列表中的Edit Scheme 如下 打开后,选择Run->Info 将Debug模式改成Release模式,然后Close 回到工程,我们分别使用模拟器和真机编译项目,然后来到工程的Products文件 如下所示…
打包Framework,测试时: 1.用模拟器打包,测试时只能跑在模拟器 2.用真机打包,测试时只能跑在真机 那么怎么做到一个版本兼容以上两种场景呢? 解决如下: 1.打开终端 2.输入   lipo -create [模拟器打包path] [真机打包path] -output [导出兼容版本path] =======================  示例  Demo========================== 准备前提: -- 假设我们包已经完成,并在模拟器和真机都能编译通过. --…
编译 Luajit 库,的确是一个挑战.因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了.以前只是编译了适用于真机的 Luajit 库.最近在尝试编译模拟器 Luajit 库,就顺便梳理了下 Luajit 库的编译经验,供以后查阅.网上的讨论也是有一些,但是相当一部分都已经过时.或许等你看到这篇文章的时候,可能也只是能获得一些可能的经验来解决自己的编译问题.所以说,了解一些基本的编译知识,能勉强看懂 Luajit 的 make 文件,还是很有必要的.本篇是关于 Luaj…