精华内容
下载资源
问答
  • 我在每天工作中需要在不同的移动设备测试我们开发的前端应用是否正常工作,比如iOS设备和Android设备。我的工作笔记本电脑又是Lenovo的,安装的是Windows操作...那么一个前端应用运行在iOS设备,程序员如何在...

    我在每天工作中需要在不同的移动设备上测试我们开发的前端应用是否正常工作,比如iOS设备和Android设备。我用的工作笔记本电脑又是Lenovo的,安装的是Windows操作系统。

    有的时候一个开发好的前端应用,在Android设备上正常工作,但是在iOS平板上测试却发现问题(相当广大前端开发者都曾经遇到过类似问题)。顺手就想调试一下找到原因。那么一个前端应用运行在iOS设备上,程序员如何在安装了Windows系统的笔记本上进行调试呢?

    假设我的前端应用是这个url:https://jerrylist.cfapps.eu10.hana.ondemand.com/ui5/

    在IPAD上打开界面如下:

    1. 在Windows笔记本电脑上安装iTunes: https://www.apple.com/cn/itunes/download/

    安装后,您的Windows笔记本电脑才能成功和iOS设备连接并成功识别它。

    2. 到iOS设备上,菜单iPad->Settings->Safari->Advanced,打开“Web Inspector” 选项。

    3. 从github网站下载ios-webkit-debug-proxy-win32:

    https://github.com/artygus/ios-webkit-debug-proxy-win32

    将zip解压到一个文件夹里,然后把这个文件夹加到Path环境变量里。

    4. 在Windows系统的CMD里,敲入下面的命令行:

    ios_webkit_debug_proxy.exe -f chrome-devtools://devtools/bundled/inspector.html

    收到Windows成功监听iOS设备事件的消息:

    Listing devices on: 9221

    Connected: 9222 to Jerry’s iPad

    在浏览器里访问:http://localhost:9221

    从结果列表里就看到我的iOS设备了。

    点localhost:9222的超链接,然后就可以看到另一个超链接,代表了我的IPad的Safari当前打开的网页:

    点这个超链接,Windows笔记本电脑上的Chrome开发者工具就自动打开了。在IPad上会弹出一个询问您是否允许调试的对话框。点“Approve”按钮,就可以开始在Windows电脑上调试远端连接的iOS设备上的前端应用啦!

    要获取更多Jerry的原创技术文章,请关注公众号”汪子熙”或者扫描下面二维码:

    展开全文
  • ios,mac,windows等等,最后打包发布后,从UI看,和原生系统下开发出的App没区别。 toga的做法是对现有的各平台的UI组件进行了集成和封装。由于,toga仍然处在开发中,所发布的UI组件框架仅仅是对常用的组件进行了...

    接上一篇

    toga:关于toga,是跨平台的以python为开发工具的native UI集成工具包。其优势在于,跨平台的开发的界面,是native的UI。ios,mac,windows等等,最后打包发布后,从UI看,和原生系统下开发出的App没区别。

    toga的做法是对现有的各平台的UI组件进行了集成和封装。由于,toga仍然处在开发中,所发布的UI组件框架仅仅是对常用的组件进行了集成,而当需要用到一些特别的组件时,必须自己来扩展。譬如,本项目需要用到ios系统中的相册功能,objective-c中是用imagePickerController来调取的。这在toga中是无法做跨平台集成的。因此,我们要使用它,必须自己来扩展。

    objective-c的相册调用的方法,是通过delegate作为回调来最终获取图片的,因此,我们如果想在toga中用python来使用,方法一样,同样需要指定和集成delegate才能获取图片。具体细节很多。这里略过。下面是扩展的实际代码。

    class TogaImagePickerView(UIImagePickerController):
    
        @property
        def window(self):
            return self._window
    
        def _init_(self,window):
            self._window=window
    
    
    
        @objc_method
        def imagePickerController_didFinishPickingMediaWithInfo_(self, sender, info) -> None:
        
            global im,data,buf,img
            global iv,main_box,main_window,button2,button1,AlbumImage
        
            #print("return from album")
            #pass
            #if self.interface.on_webview_load:
            #    self.interface.on_webview_load(self.interface)
            self.dismissViewControllerAnimated(False,completion=None)
            #global AlbumImage
            AlbumImage=info[UIImagePickerControllerOriginalImage]
            size = AlbumImage.size
            scale = AlbumImage.scale
            imagewidth = math.floor(size.width*scale)
            imageheight = math.floor(size.height*scale)
            print(AlbumImage)
    
            data =  ObjCInstance(uikit.UIImageJPEGRepresentation(AlbumImage,0))
            #print(data)
    
            buf=ctypes.create_string_buffer(data.length)
            ctypes.memmove(ctypes.byref(buf), data.bytes , data.length)
            img=Image.open(io.BytesIO(buf))
            #enh_con = ImageEnhance.Contrast(img)
            #contrast = 1.5
            #img = enh_con.enhance(contrast)
    
            imgByteArr = io.BytesIO()
            img.save(imgByteArr,format='bmp')
            imgByteArr = imgByteArr.getvalue()
    
            im = toga.Image(path=None,data=imgByteArr,uiimage=None)
            iv.image=im
            iv.refresh()
    
            
            
        @objc_method
        def imagePickerController_imagePickerControllerDidCancel_(self) -> None:
            _self.dismiss(animated=False,completion=None)
    
    
    
    

    这里有些东西需要说明一下,一个是全局变量在python里面是如何应用的。由于objective-c里面用到了大量的指针操作,对指针型的变量(在python总为object),如果使用全局变量返回,往往取不到希望的值。我调试了很久才发现这个问题,不知是python还是xcode哪里出的错误。因此,最好的方法,是在同一个python文件里面把上述代码一起写进去。就是调用的代码和上述代码在一个py中,这时,返回的图像才正确。

    在扩展完controller后,下面就是如何调用和设定delegate来完成相册调用了。
    代码如下:

        def picker_image(self, widget):
            #global AlbumImage
            #ipv=ImagePickerView.create(self,self.main_window)
            #im=AlbumImage
            self.picker=TogaImagePickerView.alloc().init(self.main_window)
             #self.picker.picker = window
            self.picker.delegate=self.picker
            self.picker.sourcetype = 0
             #vct=UIViewController.alloc().init()
            self.main_window._impl.controller.presentViewController(self.picker,animated=False,completion=None)
    

    这里注意一下picker和delegate的初始化和设定方法,objective-c的object一般需要alloc.init()来初始化,主要是分配内存。

    有了上述两段代码,那么ios的相册就可以成功读取了。

    现在的问题是,如何把读取到的图像(UIImage)来传输给pillow?这里有两个方面的问题,第一,是toga的image集成格式只支持文件,url类型,第二,pillow的图像数据需要的是纯data型。

    因此,第一步是扩展toga的框架,使其可以打开UIImage和NSData两种格式的数据,具体扩展代码是对toga的Image.py进行修改,修改的代码如下:

    from toga_iOS.libs import NSURL, NSData, UIImage
    
    
    class Image(object):
        def __init__(self, interface, path=None, url=None,data=None, uiimage=None):
            self.interface = interface
            self.path = path
            self.url = url
            self.data=data
            self.uiimage = uiimage
    
            if path:
                self.native = UIImage.alloc().initWithContentsOfFile_(str(path))
            elif url:
                # If a remote URL is provided, use the download from NSData
                self.native = UIImage.imageWithData_(
                    NSData.dataWithContentsOfURL_(
                        NSURL.URLWithString_(path)
                    )
                )
            elif data:
                self.native = UIImage.imageWithData_(data)
            elif uiimage:
                self.native = UIImage(uiimage)
                
    
    

    可以看见,data=None, uiimage=None这两个参数及集成方法,就是扩展了image使其可以打开UIImage和data类型的图像文件。注意由于toga是跨平台的工具,因此,toga.core里面的image同样需要相应的集成。这里就不赘述了。集成的方法和上面的一样。

    此时,把相册返回的UIImage,传给image这个python Object,就可以顺利打开图像。那么pillow如果需要处理,还需对图像进行转换,输出data后给pillow,pillow就可以处理了。每次pillow处理后,传给imageview这个control就可以看见图像处理后的结果。

    所以,在imagepickercontroller的回调函数中,如下代码就是做图像的数据转换来进行UIImage到jpg到data的转换过程,以便于pillow可以使用数据。

            data =  ObjCInstance(uikit.UIImageJPEGRepresentation(AlbumImage,0))
            #print(data)
    
            buf=ctypes.create_string_buffer(data.length)
            ctypes.memmove(ctypes.byref(buf), data.bytes , data.length)
            img=Image.open(io.BytesIO(buf))
            #enh_con = ImageEnhance.Contrast(img)
            #contrast = 1.5
            #img = enh_con.enhance(contrast)
    
            imgByteArr = io.BytesIO()
            img.save(imgByteArr,format='bmp')
            imgByteArr = imgByteArr.getvalue()
    
            im = toga.Image(path=None,data=imgByteArr,uiimage=None)
            iv.image=im
            iv.refresh()
    

    至此,pillow已经可以对图像进行处理了,那么调用pillow的功能,处理图像,处理结果传给imageview,结果可以正常的显示出来。完成了在ios系统下,使用python和pillow,对图像的正常处理程序。

    源程序已经上传至github,有兴趣的读者可去下载。

    https://github.com/xueqihui/Python-Pillow-on-iOSPython-pillow在ios上运行

    展开全文
  • @[TOC]如何用Parallel DesktopMac电脑实现Windows系统的使用 如何用Parallel DesktopMac电脑实现Windows系统的使用 苹果mac电脑本身的IOS系统很好,对于使用习惯ISO系统的童鞋们要是突然转换成Windows,那...

    @[TOC]如何用Parallel Desktop在Mac电脑上实现Windows系统的使用

    如何用Parallel Desktop在Mac电脑上实现Windows系统的使用

    苹果mac电脑本身的IOS系统很好用,对于使用习惯ISO系统的童鞋们要是突然转换成Windows,那一定要头疼。但是又想体验Mac IOS系统的便利又不想丢掉Windows系统的偶尔需求(比如某些软件只能在Windows上使用)。
    所以为大家介绍一款软件——Parallel Desktop

    Parallel Desktop很好的将Mac IOS 与 Windows 搭建了链接的桥梁。

    接下来跟随小编看一下怎么操作吧!

    一、万事开头难——找资源

    Parallel Desktop软件资源从哪来?

    Windows镜像文件从哪来?

    一、官方正版软件

    链接:https://www.parallels.cn/products/desktop/pro/

    二、其他(你懂的)

    小编就不给链接了,但是给方法

    • B站会用吗?那当然! 那就去搜一下关键词
      “Mac软件资源” “Mac软件网站分享”等
      (一堆好用到爆的资源等着你去收藏)

      ~小编废话一下哈,Safari的书签一定要好好使用,把常用的网站罗列收藏好,以后绝对大大提高你的效率和便捷

    • 微信公众号知道吗?那当然!那就去微信公众号去搜呗
      “Parallel Desktop” “破解版”

    • 知乎知道吗?那当然!那也去搜呀

      ~小编再废话一下哈,想要免费,那绝对不能怕麻烦,换位思考一下,就是你花时间找软件资源的同时,就是在赚钱hhhh

    三、Windows镜像文件

    可以直接在安装好Parallel Desktop中直接安装,但是下载的速度你是受不了的,那么就同上去找下载好的Win10镜像文件吧

    ~废话又来了,网上的绝大多数资源都是存储在百度网盘,那百度网盘会员你懂的,25-30元一个月相比498元,那是划算的哈,同时,你还可以考虑再去找一找其他软件一起安装,让25-30元的会员试用更加具有性价比hhhh

    二、接着难——Mac的各种“不同意”

    资源都好了(Parallel Desktop软件有了,Win10镜像文件也有了),开始安装Parallel Desktop,但是mac就是很多不同意,怎么办呢?

    • 设置中允许任何来源(设置-安全性与隐私)
      在这里插入图片描述

    只有前两个怎么办呢?

    在终端中执行:

    sudo spctl --master-disable

    • 换资源
    • 找我私信

    三、还难吗——先干再说

    小编只想简要说一下步骤哈

    详细步骤看别人的吧

    https://zhuanlan.zhihu.com/p/130705367?utm_source=wechat_session

    • 安装Parallel Desktop软件在Mac上(安装中有时候要等会,如果有时候是磁盘文件有问题,我建议重新找资源吧,mac big sur就算了,小编好不容易安装好,结果网络不行,又要通过在终端中打开等方式解决,所以就请大家别升级了,但是强迫症的人,比如小编,那就再伤点头脑去海量搜索解决办法吧)

    • win10镜像文件的载入,和正常安装Win10系统过程差不多,选个版本的,比如专业版,然后就等着吧

    系统安装完成是不是就能用了

    那当然还要在胜利的边缘刺激一下你!

    怎么刺激呢?

    那就是你要进入设置-安全性与隐私-解锁-点击允许(操作这一步,是你点开Parallel Desktop这个软件的时候才会出现弹框)

    期间还会让你重新启动电脑,那就重新启动呗,几个小时的时间都花掉了,最后重启一下不占用几分钟

    好了,完工。

    恭喜你!你的mac可以用两个系统了,还可以同时使用!!!!

    有问题,再私信小编吧!

    ~废话最后再来一句,网上都有,记得好好去搜一下关键词!!!!

    展开全文
  • 不管是iPhone的iOS还是Android系统开发的...今天给大家介绍一种如何在Windows操作系统使用著名的抓包工具软件Wireshark来截获iPhone、iPad等iOS设备或Android设备的网络通讯数据的方法。 要捕获iPhone...

    不管是iPhone的iOS还是Android系统上开发的应用App基本上都会需要使用网络通讯来传输数据。开发者有的时候可能会需要通过抓包的方式来了解应用具体在传输些什么数据,以及数据是否正确。今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone、iPad等iOS设备或Android设备的网络通讯数据的方法。

    要捕获iPhone传输的数据我们不能直接在iPhone上进行。所以我的想法是在Windows上安装一个Wireshark抓包软件,同时这台电脑有一张无线网卡。然后我将这台Windows电脑的无线网卡设置成为一个无线路由器,然后用iPhone连接上这个虚拟的无线路由器。这样所有iPhone传输的数据都会到我们Windows电脑的这张无线网卡,之后我们就可以用Wireshark来抓包获取这张无线网卡的所有网络数据,其中就包括我们的iPhone的网络通讯数据了。通过我的实际测试,这个想法是完全可行的。在这里我们需要使用到两个软件,一个是上面提到的Wireshark,另外一个是能够将电脑的无线网卡变身为共享无线路由器的Connectify Hotspot软件。

    工具/原料

    • Wireshark抓包软件:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

    • Connectify Hotspot软件:能够将电脑的无线网卡变身为无线路由器共享无线网络的软件

    • 无线网卡的Windows电脑

    下载安装ConnectifyHotspot和Wireshark

    1. 1

      下载安装:Connectify Hotspot,下载地址:http://www.connectify.me/download/

    2. 2

      下载安装:Wireshark,下载地址:http://www.wireshark.org/download.html

      END

    配置Connectify Hotspot

    1. 1

      两款软件安装完成后,运行Connectify Hotspot,打开右下角的Connectify Hotspot窗口,设置Password,等下在iPhone上我们要用此密码验证。第二个Internet to Share要选择Windows电脑的无线网卡,我这里直接显示的是Wi-Fi。然后Share Over同样选择Wi-Fi。下面一项是加密方式,这跟设置无线路由器的加密方式一样。这里使用默认的WPA2。然后点击Start Hotspot按钮就可以将这台Windows电脑的无线网卡变身成一个无线路由器了。如下图:

      如何在Windows上用Wireshark截获iPhone网络通讯
      END

    iPhone连接Connectify Hotspot

    1. 1

      Connectify Hotspot成功运行后,打开iPhone手机,进入设置 - 无线局域网。这里就会看到一个新的无线网络,如图名为Connectify-me。点击它,然后输入我们在Connectify Hotspot上设置的密码就可以连接了。如下图:

      如何在Windows上用Wireshark截获iPhone网络通讯
    2. 2

      连接成功后可以在iPhone上打开浏览器试着打开一个网页,看能否打开。如果能够打开,就说明成功了。

      END

    用Wireshark抓包获取iPhone网络通讯数据

    1.  

      运行Wireshark,在窗口上点击Interface List,看哪张网卡正在发送和接受数据包的,从Packets那一项可以看出。点击网卡前面的选择框选中,然后点Start按钮开始抓包。如下图:

      如何在Windows上用Wireshark截获iPhone网络通讯
    2.  

      现在你就可以在iPhone上运行各种网络应用了,只要他们有网络通讯传输任何数据,Wireshark都可以截获到这些数据。比如下图就是我用iPhone的浏览器Safari访问了一下Connectify的网站,Wireshark抓到的HTTP包。我使用了http过滤器,只显示了所有的HTTP包。这样我们就成功地使用Wireshark抓取到了iPhone的网络数据了。

      如何在Windows上用Wireshark截获iPhone网络通讯
      END
     
     
     
    展开全文
  • windows生成ios上架截屏的方法

    千次阅读 2021-02-04 07:46:21
    假如用windows电脑开发,就更加无法进行截图了。 假如使用真机去截图,那么花费就太庞大了,为了小小一个截屏,去购买三个真机,就太浪费了,三台真机要2万块。 下面我告诉大家H5页面如何生成这三种分辨率的截屏:...
  • 如何IOS系统下的邮件导入到windows 及把本地邮件同步到服务器 背景:最近公司做ios开发人员离职,他的是MAC机,但是他的邮箱申请过专利,所以不能删除的,邮件需要保留。但是他并没有服务器保留附本。...
  • 今天给大家介绍一种如何在Windows操作系统使用著名的抓包工具软件Wireshark来截获iPhone、iPad等iOS设备或Android设备的网络通讯数据的方法 不管是iPhone的iOS还是Android系统开发的应用App基本...
  • 這一篇我們用Windows Azure 的Mobile Service 來實作iOS的推播通知,底下我們分成三個階段來探討如何實作推播通知的服務: 第一階段: 開啓你的Windows Aure服務 Azure建立一個Mobile Service服務 ...
  • 如何在Windows上编译64位QT

    千次阅读 2017-10-06 18:12:27
    编译64位的QT其实是无聊的工作,但是QT官方在windows中并未提供64位QT安装包,仅仅提供了32位。对于笔者,QT官方这种做法其实蛮让人觉得...如果大家在windows上用QT开发Android和IOS的程序,那么windows64bits操作系
  • 如何在arm linux平台连接ios设备

    千次阅读 2015-08-25 16:57:34
    pc,无论是windows还是linux都可以连接管理你的ios设备,那么如何去实现arm平台下与ios通信呢,其实你你需要把linux下的usbmuxd和libimobiledevice交叉编译就可以了,管道就打通了,接下你也可以ssh或ifuse...
  • 开发iOS程序的时候,往往需要调试客户端和服务器的API接口,这个时候就可以Charles,Charles能够拦截SSL请求、模拟慢速网络、支持修改网络请求包并多次发送、能够篡改Request和Response等强大的功能。...
  • 今天给大家介绍一下如何用windows 系统装虚拟机后,发布IOS程序 1首先当然是安装虚拟机并配置好MAC系统了,这里推荐机器最好是有10个G以上的内存,要不会卡死你,我的机器是台式机I5,带 16G内存 ,一般跑虚拟机...
  • 如何处理iOS中照片的方向

    千次阅读 2016-01-20 15:05:45
    手机拍摄的照片发送到PC媏后方向改变了?想必开发过跨平台IM程序的人都经历过吧。使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的...最近在iOS的开发中也遇到了同样的问题,将拍摄的照片
  • 这些交易收益都是翻译们的劳动所得,在其它平台都不用抽走那么多,如果在iOS上必须抽走三成以上的话,无论对于翻译者,还是对于翻译平台运营者的我们来说,都是压力挺大的,也很难做到平衡。 ==备注== 在提出...
  • Neat Reader是一款跨平台的txt阅读器,支持在Windows/Mac/Android/iOS系统使用,同时也支持网页直接对txt格式进行解析阅读,十分方便。不仅提供电子书来源,还可以快速扫描本地txt文件。 Neat Reader阅读页面...
  • 如何找出IOS App的URL Scheme

    万次阅读 2014-07-07 10:05:20
    据说大多数的URL Scheme都可以网上找到,我就没找到几个...1.Mac上用iTools查看IOS设备的应用程序(我的是Mac2.2.1版本,Windows系统下也可以,情况类似,大家自己体会), 2.查看文档 3.打开 W
  • 最近也想试水一下iOS应用开发,但又没有Apple Air/Pro之类的设备,也不想装OS X系统,就想到能不能在Windows或者ubuntu下安装XCode6环境来开发Swift?但经过一翻搜索,得到的答案是:XCode只能装OS X系统。据我...
  • 但是在ios下,同样拼音输入中文,当我打第一个f字母的时候,就已经接收到了sdl_textinput事件,根本都还没有出现候选词让我选择。请教下各位应该如何处理?另外ios设备中手写输入中文也没有问题。
  • 对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,...首先确定操作系统环境,不建议 Windows 上面搞,所以你需要: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux
  • 针对之前小伙伴提出的安全性和可操作性,针对性开发出一款苏宁、京东、天猫茅台进行抢购...这个一直是大家最关心的话题,经过将近半个月的测试,目前成功率60%-80%左右,原则账号信用分优秀,两周内一定可以抢到。
  • iOS其实是一款操作系统,就像平时我们电脑上用的XP、Win7,都是操作系统。 那什么是操作系统呢?操作系统其实是一种软件,是直接运行硬件(电脑、手机等)上的最基本的系统软件,任何其他软件都必须操作系统的...
  • 最近发现很多朋友在如何安装kali双系统的问题遇到困难,今天就给大家演示一遍,如何用U盘启动的方法来在windows系统下成功安装kali。此过程只需要提前准备两个东西即可。一个是kali的ios镜像文件,另一个是...
  • 先在原电脑上用Xcode->Windows->Organizer, 再点击Developer profile, 其最下面点击Expore按钮, 再弹出的对话框中输入保存的文件名,密码. 将主机上导出的.develperprofile文件拷贝到另一台机子上, 这台机子...
  • 本篇使用Swift 并附上官方文档 前阵子接了(公司A)一个专案,再加上要毕业了...),到目前为止都是单纯在Windows上的小程式利用『URL Scheme』跟这个系统互相丢接资料,我则是要负责写一个IOS App 跟此系统做一样...
  • Android上如何用C语言编程--准备(1)  有人说Google收购Moto将造成Andoird,iOS,Windows Phone三足鼎力。不管如何,Android将未来手机平台占到相当可观的份额无疑。Android开发语言采用JAVA,因此懂JAVA的人...
  • A和B之间通过wifi连接,A上跑了一个什么server,B上用html的方式来显示操作A上的程序。 这样的好处似乎是,可以跨平台显示操作他们的程序(mfc开发,只能在windows上运行),例如iOS,android? 具体这是如何...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

如何在ios上用windows