app ios 模拟器
2016-06-06 17:24:11 u012703795 阅读数 553

1. Xcode模拟器编译后,~/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/Debug/{Project Name}.app 路径下,获取app包。

2. 终端中输入 xcrun simctl install booted /path/to/your.app注意后面/Path/to/your.app是指你将要安装的.app文件的路径,输入完毕之后直接Enter,到此你回到你的模拟器中就可以看到相应的app了

2017-07-12 15:23:24 sinat_15735647 阅读数 1777

1.拷贝本地的DerivedData里面的debug包

Xcode模拟器编译后,app包在~/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/Debug/{Project Name}.app 路径下。可以使用命令行直接拷贝。

Mac的拷贝命令有cp和ditto,建议用ditto进行拷贝工作。

ditto它在复制过程中不仅能保留源文件或者文件夹的属性与权限,还能保留源文件的资源分支结构和文件夹的源结构。
此命令能确保文件或者文件夹被如实复制。
如果目标文件或者文件夹不存在,ditto将直接复制过去或创建新的文件和文件夹,相反,对于已经存在的文件,命令将与目标文件(夹)合并。
ditto还能提供完整符号链接。

使用如下代码可以拷贝出本地的debug包到Desktop上面

ditto -ck --sequesterRsrc --keepParent `ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1` <app path>

有几点需要说明的:

上面命令最后一个路径是自定义的,这里用的是(/Users/qqqqq/Desktop/app.zip),直接放在桌面打包成zip文件。

关于命令里面的 * 的问题。当我们打开自己本地的~/Library/Developer/Xcode/DerivedData/
,这个路径下,会发现里面装的都是在我们本地模拟器上运行过的app程序。前面是app的Bundle
Identifier,横线后面是一堆字符串。上面的ditto里面带 * 的那个路径是为了动态匹配一个地址的,*
在这里也是一个通配符。head找出最近一次我们运行模拟器的app的路径。

2、安装模拟器Debug包 APP

  • 启动模拟器
  • 在terminal 里运行下面这个命令:
xcrun simctl install booted <app path>

至此,就可以不通过运行源代码在两台电脑上安装模拟器Debug版本的包了。

另外,GitHub上面有一个开源的ios-sim模拟器命令行管理Project,可以直接通过命令行启动和安装。安装方法也很简单

安装iOS-SIM
    $ npm install ios-sim -g
使用ios-sim 命令行安装Debug版本的包
ios-sim launch <app path> --devicetypeid iPhone-5s
2018-09-10 10:33:00 weixin_33908217 阅读数 8

xcode的模拟器

xcrun获取模拟器信息命令

1、列出你安装的所有可用的设备

xcrun instruments -s

2、开启指定模拟器(上面的列表就是可用模拟器名称)

xcrun instruments -w "iPhone 8 (11.2)"

使用的Xcode的simctl命令来控制模拟器

1、安装指定的app

xcrun simctl install booted <app路径>

2、运行指定的app (com.example.app)

xcrun simctl launch booted <app identifier>

3、卸载指定的应用

xcrun simctl uninstall booted <app identifier>

#!/bin/sh
DEVICE="iPhone 6 (9.2) [2E1B5604-DF1E-446F-A982-69BB878CA03D]"
DEVICE2="iPhone 6s (9.2) [8C0F087C-A26B-4AC8-9D81-DDBA8854C97A]"
WATCH="Apple Watch - 38mm (E58A6E6A-58EB-4407-B565-C0C33DB217CC)"
#DEVICE="iPhone 6 (9.1) [8E912DB2-478F-49D4-8BA5-88DE01DAC0A0]"
#SDK="iphonesimulator9.1"
DESTINATION='platform=iOS Simulator,name=iPhone 6,OS=latest'
DESTINATION2='platform=iOS Simulator,name=iPhone 6s,OS=latest'
SDK="iphonesimulator9.2"
TEST_ROOT=$1
APP_NAME=$2
#echo $APP_NAME
#echo "$TEST_ROOT$APP_NAME.app"
#echo "com.worklight.ibm.$APP_NAME"

cd "$TEST_ROOT"
if [[ "$3" == "No" ]]; then
if [ -d "$APP_NAME.xcworkspace" ]; then
    echo xcodebuild OTHER_CFLAGS="-fembed-bitcode" -workspace $APP_NAME.xcworkspace  -scheme $APP_NAME -configuration Debug clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -destination "$DESTINATION" CONFIGURATION_BUILD_DIR="$TEST_ROOT"
    xcodebuild OTHER_CFLAGS="-fembed-bitcode" -workspace $APP_NAME.xcworkspace  -scheme $APP_NAME -configuration Debug clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -destination "$DESTINATION" CONFIGURATION_BUILD_DIR="$TEST_ROOT"
else
    echo "$APP_NAME.xcworkspace not found"
    xcodebuild OTHER_CFLAGS="-fembed-bitcode" -target $APP_NAME.xcodeproj -scheme $APP_NAME -sdk $SDK -configuration Debug clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -destination "$DESTINATION" CONFIGURATION_BUILD_DIR="$TEST_ROOT"
fi
xcrun instruments -w "$DEVICE" #-t "Network"
sleep 15
xcrun simctl uninstall booted "com.worklight.ibm.$APP_NAME"
xcrun simctl install booted "$TEST_ROOT$APP_NAME.app"
xcrun simctl launch  booted "com.worklight.ibm.$APP_NAME"
else
echo "building watch app"
xcodebuild OTHER_CFLAGS="-fembed-bitcode" -workspace $APP_NAME.xcworkspace  -scheme Watch -configuration Debug clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -destination "$DESTINATION2" CONFIGURATION_BUILD_DIR="$TEST_ROOT"
#xcrun instruments -w "$DEVICE2" #-t "Network"
xcrun instruments -w "$WATCH" #-t "Network"
sleep 15
xcrun simctl uninstall booted "com.worklight.ibm.$APP_NAME.watchkitapp"
xcrun simctl install booted "$TEST_ROOT/Watch.app"
xcrun simctl launch  booted "com.worklight.ibm.$APP_NAME.watchkitapp"
fi
2017-07-30 08:54:00 weixin_34414650 阅读数 10

我能说我想在电脑的模拟器上看新闻了吗。。。哇哈哈哈

如果自己用命令行打包的应该对xcodebuild和xcrun 这两个不陌生,我们今天就用xcrun,可以理解为它就是把xcodebuild打包的.app签名啊什么的打包成我们用的.ipa包。


Step1.查看基本命令:

xcrun instruments -help


输出信息:usage: instruments [-t template] [-D document] [-l timeLimit] [-i #] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]]

可以看出 -w就是我们需要的,先启动模拟器,当然你也可以自己启动。


Step2.运行模拟器:

xcrun instruments -w 'iPhone SE'


输出信息:Waiting for device to boot...

Instruments Usage Error: No template (-t) specified

instruments, version 8.3.3 (62125)

这个-t 还不知道传入什么参数。。。


Step3.安装App到模拟器中

xcrun simctl install booted [...  .app的路径]



PS.卸载模拟器中App

xcrun simctl uninstall booted [... bundle identifier]

2016-06-07 15:31:04 Htao_sir 阅读数 7404

引言

  iOS Simulator,是在Mac环境下开发iOS平台的程序时候,可以使用的辅助工具。iOS Simulator 是Xcode的一部分,通常在Xcode运行(或调试)应用程序时会自动启动。Xcode会自动将应用程序安装到iOS Simulator上。

> 本机环境
> Mac Version 10.11.4 
> Xcode Version 7.3.1

问题描述

作为开发者一般都是通过Xcode将应用运行在模拟器上。然而,有时也可能会将自己的xxx.app文件分享(移植)出去,或者是安装其他Xcode生成的xxx.app文件,那么该怎么操作呢?



一、 获取自己Xcode生成的xxx.app文件

1,通过一下代码,在工程中打印相应的mainBundle路径

NSLog(@"----%@", [[NSBundle mainBundle] pathForAuxiliaryExecutable:@""]);

控制台打印出mainBundle的路径
这里写图片描述

2,拷贝路径,前往该路径所在文件夹就阔以获取自己Xcode生成的xxx.app
这里写图片描述

当通过路径看到.app时,则说明我们获取成功!!!

二、安装其他Xcode生成的xxx.app文件

Tips: 在安装之前,先通过工程打开Xcode的模拟器(方便快捷),当然也阔以通过其他方式打开模拟器

1, 打开终端,在终端输入一下命令

 xcrun simctl install booted

2,然后录入将要安装的xxx.app文件的路径(获取方法可直接将其拖入终端即可

3,输入完毕之后直接Enter,然后回到模拟器中就可以看到刚安装的app了(安装完成

没有更多推荐了,返回首页