在Ubuntu上iPhone开发教程-1

A7 ~ A11处理器(iphone5s~iphoneX) 14.0 ~ 14.8.1免越狱安装Trollstore教程 A7 ~ A11处理器(iphone5s~iphoneX) 14.0 ~ 14.8.1免越狱安装Trollstore教程 前言:本教程适用于A7 ~ A11处理器 14.0 ~ 14.8.1免越狱安装Trollstore,即iPhone5s~iphoneX、iphone8p,这些设备可以利用checkm8漏洞挂载SSHRD刷入TrollStore且本身并不需要越狱。 特别注意:需要有一定电脑基础,操作有风险,最好先备份,实际效果请自测。(本教程测试机为iphone8plus,ios 14.6) 阅读详情

想开发iPhone应用,没有Mac Book也没有Mac Mini,怎么办?

想尝试在Linux上开发iPhone吗,那就请接着往下看。

 

 

 

1.  前提条件:

在Ubuntu上编译好toolchain,参见我前面的文章。

因为不能跑模拟器,需要一部iPhone手机来测试程序,iPhone3或iPhone4都可以

(目前支持到iPhone 3.1SDK,程序可以在iPhone4上运行)

 

2.  从UIApplication派生你的应用程序类:

 

头文件MyScylla.h

 

 

m文件MyScylla.m

 

 

3. 定义自己的ViewController

 

CustomViewController.h

 

CustomViewController.m

 

 

4.  定义View

 

MyMainView.h

 

 

MyMainView.m

#import <UIKit/UIKit.h>
#import <UIKit/UIAlert.h>

#import "MyMainView.h"

@implementation MyMainView

@synthesize navBar;
@synthesize navItem;
@synthesize textView;
@synthesize button;

- (id)initWithFrame:(CGRect)rect {
    self = [ super initWithFrame: rect ];
      if (self != nil) {
        NSLog(@"start initWithFrame");
       
        isMuted = NO;
        count = 0;
        //navBar = [ self createNavBar: rect];
        //[ self setNavBar ];
        //[ self addSubView: [navBar view] ];
        //NSLog(@"after add navBar");
       
        CGRect rectText = CGRectMake(100,100,300,100);
        textView = [ [ UITextView alloc] initWithFrame: rectText ];
        //[ textView setTextSize: 12 ];
        [ textView setText: @"Hello, world!" ];
        [ self addSubview: textView ];

        button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        CGRect rect = CGRectMake(120,400,100,50);
        //[sendButton setFrame:rect];
        //sendButton = [ [ UIButton alloc] initWithFrame: rect];
        button.frame = rect;
        [button setTitle:@"Test" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(clickButton:)
        forControlEvents:UIControlEventTouchUpInside];
        //[button addTarget:self action:@selector(clickButton:forEvent:)
        //forControlEvents:UIControlEventTouchUpInside];

        [self addSubview:button];

              
    }
    NSLog(@"end initWithFrame in MyMainView");
    return self;
}

-(void)AlertWindow:(NSString *)transValue{

    UIAlertView *alertView= [[UIAlertView alloc] initWithTitle:transValue message:transValue delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
}

- (UINavigationBar *)createNavBar: (CGRect) rect {
    NSLog(@"start createNavBar");
    UINavigationBar *newNav = [ [ UINavigationBar alloc]
        initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 48.0f)
    ];

    [ newNav setDelegate: self ];
   
    // add our title
    navItem = [ [UINavigationItem alloc] initWithTitle: @"My Navigation" ];
    [ newNav pushNavigationItem: navItem];
    [ navItem setTitle: @"Another Example" ];

    NSLog(@"end createNavBar");
    return newNav;
}
- (void)setNavBar {

    if(isMuted == YES) {
        [ navItem setTitle: @"Spouse (Muted)"];
        [ navBar showLeftButton:nil withStyle: 0 rightButton:@"Mute" withStyle: 1];
    } else {
        [ navItem setTitle: @"Spouse"];
        [ navBar showLeftButton:nil withStyle: 0 rightButton:@"Mute" withStyle: 0];
    }
    NSLog(@"end setNavBar");
}


-(IBAction) clickButton :(id)inSender {
    count++;
    NSLog(@"clickButton");

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Action invoked!" message:@"Button clicked!"
        delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
}

-(IBAction) clickButton:(id)inSender forEvent:(UIEvent *)event {
    NSLog(@"clickButton forEvent");
    count++;
    [inSender setTitle:[NSString stringWithFormat:@"count:%d", count]
        forState:UIControlStateNormal];
}


/*
- (void)navigationBar: (UINavigationBar *)navbar buttonClicked:(int) button {
    switch(button) {
    case 1: // left
        [ self AlertWindow: @"Left Button"];
        break;
    case 0: // right
        [ self AlertWindow: @"Right Button"];
        break;
    }
}
*/

- (void)dealloc {
    [textView release];
    [navBar release];
    [navItem release];
    [super dealloc ];
}
@end

5.  Makefile

 

 

 

6. 编译

 

ldid.sh:

export CODESIGN_ALLOCATE=/home/jack/iPhone/toolchain/toolchain/pre/bin/arm-apple-darwin9-codesign_allocate
ldid -S MyScylla

 

 

 

 

 

SECS/GEM协议库及开源代码 以下是在开发SECS/GEM协议过程中,在网络上搜集协议实现资源,希望对SECS/GEM协议感兴趣的同学能有所帮助。 开源代码 freesecs FREESECS 是一个开源的SEMI SECS协议库,采用C++语言实现,可运行于Linux, MacOS X, NetBSD。 实现协议:E37.1、E5 开源地址:freesecs download | SourceForge.net 下载地址:https://download.youkuaiyun.com/download/BT_LEO/24305429 阅读详情

相关推荐

HFSS - 双频微带天线设计与仿真

一、设计指标 中心频率:1.9GHz、2.45GHz 匹配情况:中心频率处S11S_{11}S11​参数小于-20dB 介质板厚度:1.6mm 介质板介电常数:3.8 馈电方式:50Ω\OmegaΩ同轴线馈电 二、双频微带天线 获得双频工作的一种最简单的方法是辐射贴片的长度对应-一个频率谐振,其宽度对应另一个频率谐振,然后从对角线的一角馈电,就能使同一个辐射贴片工作于两个频率上。其结构如下图所示。 从图中可以得知,x轴上的A点(x,0)为激发TM10_{10}10​模式的50Ω\OmegaΩ馈电点,由

MaxWei 1万+

终极指南:使用iFakeLocation在Windows/Mac/Ubuntu上模拟iOS设备定位

想要在iOS设备上模拟地理位置进行应用测试吗?iFakeLocation是一款强大的跨平台解决方案,支持Windows、Mac和Ubuntu系统,让你无需越狱即可轻松模拟iPhone/iPad的GPS位置。无论你是开发地图应用、测试位置相关功能,还是需要验证地理位置服务的准确性,这款免费工具都能帮你快速完成iOS定位模拟任务。 ## 🚀 快速开始:5分钟搭建iOS定位模拟环境 ### 系统要

gitblog_00949的博客 454

Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解

本文讲述了从USGS官网下载Sentinel2的方法。主要包括USGS官网的注册和下载流程,以及选定研究区中所出现的问题、解决办法。

xiatiandexia123的博客 6万+

Ubuntu 10.04上搭建iPhone开发环境

1. 准备Ubuntu环境download:  http://www.ubuntu.org.cn/getubuntu/downloadUbuntu 10.04sudo apt-get install git-core libxar-dev bison flex patch ope

eyetee的专栏 5153

高精度计算Π的值(C语言)

题目要求 限制使用双向链表作存储结构,请根据用户输入的一个整数(该整数表示精确到小数点后的位数,可能要求精确到小数点后500位),高精度计算PI值。可以利用反三角函数幂级展开式来进行计算。 输入5 输出3.14159 思路分析 反三角函数幂级展开式 由公式可以看出,只要计算出来每一个R(n)的值再相加取二倍就可以得到Π的值。 经过推算,要是令R(1)=2,只需要将每个R(n),相加即可。 因...

weixin_46251155的博客 8032

QT触摸屏开发:如何通过重写事件处理实现精准按键长按检测

本文针对QT触摸屏开发中按键长按检测不精准的常见问题,深入剖析了传统信号机制失效的原因,并提供了通过重写事件处理函数(event)的解决方案。文章详细介绍了创建自定义TouchButton类、直接处理QTouchEvent以实现可靠长按检测的完整步骤与代码示例,并分享了进阶优化与避坑指南,帮助开发者实现跨平台一致的精准交互。

weixin_29207149的博客 95

ios搭建linux开发环境,Linux下IOS开发环境搭建

1. Ubuntu 10.10 iPhone Toolchain 4If you use Ubuntu 11.04, please see wiki on how to use gcc-4.4 to compile2. Install the following packages in Ubuntusudo apt-get updatesudo apt-get install bison fl...

weixin_39753397的博客 561

基于 YOLOv26 的车辆违规停车检测系统:实时监控

本文提出了一种基于YOLOv26的车辆违规停车实时检测系统。系统采用多模块架构,包括视频预处理、YOLOv26目标检测、DeepSORT目标跟踪、停车区域定义、行为分析和违规判定等功能模块。关键技术包括使用YOLOv26s模型进行车辆检测,结合DeepSORT算法实现车辆跟踪,支持多种停车区域定义方式(多边形、矩形、限时区域等)。系统通过边缘计算平台部署,实现了对道路边、禁止停车区等场景的实时监控,能够准确识别长时间停车、禁止区域停车等违规行为,并触发告警机制。实验结果表明,该系统在车辆检测准确率和违规判定

一键难忘的博客 773

ubuntu 搭建ios编译环境

https://www.douban.com/group/topic/44445202/ 出现gcc: error trying to exec ‘cc1obj’: execvp: No such file or directory问题 sudo find / -name "cc1obj" /usr/lib/gcc/i686-linux-gnu/4.6/cc1obj 找到对应的

shan_xg的专栏 2602

YOLOv11改进有效系列目录 - 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制 - 针对多尺度、小目标、遮挡、恶劣天气等问题

在一些特定情况下,目标检测任务由于多种因素的影响,变得更加复杂和困难。以下是几类常见的困难目标检测场景:1. 小目标检测定义:小目标检测是指当目标在图像中的占比非常小时,模型需要准确识别和定位这些目标。典型场景包括远程监控、卫星图像分析等。挑战1. 低分辨率:由于目标在图像中占据像素较少,细节缺失,特征提取难度增加。2. 特征不足:小目标缺乏明显的形状和纹理特征,容易被复杂背景淹没。3. 检测难度大:由于小目标与背景之间的对比度较低,误检的几率上升。4. 数据不平衡。

qq_64693987的博客 4万+

展锐 Android 15 无听筒方案删除配置

【代码】展锐 Android 15 无听筒方案删除配置。

m0_60898338的博客 165

Ubuntu 22.04系统搭建环境编译AOSP P

Ubuntu22.04编译AOSP时遇到的特殊报错问题处理

Ryan ZHENG的专栏 9162

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何在Ubuntu下成功连接iPhone设备

如何在Ubuntu下成功连接iPhone设备由于iTunes和爱思助手等没有对linux开发相对应的软件,导致linux的用户的iPhone连接后并不能做什么事情,以下有很好的解决方法,按照步骤来基本可以实现能够在所选的文件管理器中查看iPhone文件系统。然后,您可以删除或向设备添加文件,以将其视为自己的外部驱动器。 由于iTunes和爱思助手等没有对linux开发相对应的软件,导致linux的...

m0_46660886的博客 8567

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

iPhone4S安装Linux系统,Ubuntu系统下iPhone4S降级6.1.3教程

早前大家都看到了 iPhone 4s 可以降级 iOS 6.1.3 的新闻,今天在此PC6小编就为大家带来网友制作的的iPhone 4s 降级教程,不过电脑操作系统有点小众,那就是 Ubuntu 系统。Ubuntu 手机系统相信不少朋友都听过,它曾经在一些安卓手机上作为移动操作系统出现,与此同时其实它还是一个开源的 PC 操作系统,十分契合英特尔的超极本定位,支持 x86、64 位和 ppc 架构...

weixin_42548874的博客 1287

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南

本文转载自 InfoQ,作者李俊辰 如果你的旧 iPhone 已经无法支持你日常使用了,你会怎么处理这部 iPhone 呢?卖掉还是留起来收藏呢?近日,国外一名 16 岁的小开发者在 YouTube 上发布了一则视频,展示了自己是如何将 Linux 移植到一部无法使用的 iPhone 7。 2020 年 3 月,Corellium 提出了 Project Sandcastle,通过使用 checkra1n 越狱程序在 iPhone 上成功运行 Android,激发了开发者对那些旧型号的 iPhone .

m0_46163918的博客 2万+

linux通过iphone usb上网,Ubuntu下iphone拖电脑上网

iphone 3G以后就有了internet tethering功能,必竞真正的3G网络,网速是很快的,要带动电脑上网就太容易了。可惜在我们国家3G的步子还比较慢,有3G了但费用太高,还是用不起。。。。没有3G,就用移动的Edge也可以了,移动的Edge网速最快一般能达到100Kb/s,算下来也有10几KB吧,上上QQ什么的还是够了,关键一个月包那个100来MB流量,也只能上上QQ,上网页也上不了...

weixin_42443992的博客 4218

ubuntu 与 iphone

1.安装 bison、flex、build-essentials 和 autoconf 包sudo apt-get install build-essential bison flex autoconf2.下载iphone-2.0-toolchain.tgz3.   [转:IPhone开发三天上手纪实]http://bbs.weiphon

link_hui的专栏 1160

【不成功】iPhone toolchain 4.0 (Ubuntu 12.04 开发环境,需联网)

搭建开发环境的两种主流方法: 1.在苹果机上用xcode做开发    好处:可以使用一整套apple工具,常规路子就是这个。 2.使用第三方工具toolchain    好处:可以在windows和linux下开发。    坏处:无法debug     iPhone toolchain 4.0 介绍 ⑴ 基于 iOS SDK 4.2, cctools 782 及 gcc 4.2.

三少GG 2232

在Ubuntu 上怎么连接装有iOS 7的iPhone或iPad

原文地址::https://blog.youkuaiyun.com/iteye_5904/article/details/82574725 相关文章 1、解决Ubuntu无法挂载iPhone的问题----http://www.cpplive.com/html/630.html 2、How do I set up the iPhone USB Ethernet Driver?----https://ask...

xqhrs232的专栏 865

2.在UBUNTU中用iPhone通过Tethering上网(USB方式)

 0)前提条件   你的iPhone必须越狱,Cydia安装完成。 1)用Cydia或Rock安装MyWi. 2)在Term中执行下面的命令    sudo add-apt-repository ppa:pmcenery/ppa    sudo apt-get update     sudo apt-get install gvfs ipheth-utils 3

2016

iPhone4S安装Linux系统,用iPhone 4S带着Ubuntu Linux上网

其实让电脑都过iPhone上网的方式无外乎三种,wifi,蓝牙和USB。我的上网本上没有蓝牙模块,而通过wifi热点的方式以前也写过帖子了,今天主要来试试USB数据线的方式。在Windows平台下使用USB数据线的方式让电脑上网只需有iTunes就行,在手机上开启个人热点就可以了。如果在Linux平台下怎么办呢?毕竟苹果没有提供Linux版的iTunes啊。上网一搜,原来在iPhone 3G的时代...

weixin_42591908的博客 1168

16 岁高中生成功在 iPhone 7 上安装 Ubuntu 20.04 桌面!

更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io前言近日,国外一名 16 岁的开发者发布了一则视频,展示自己为一台已经无法正常使用的 iPhone 7 成功...

云原生实验室 1185
上一篇: Android NDK应用开发
下一篇: 我对敏捷开发的态度[转]
coolham
博客等级 码龄19年 9粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值