【发布时间】:2016-07-15 08:11:13
【问题描述】:
如何创建Cydia 应用程序以及如何将应用程序部署到Cydia App 商店?
我熟悉Objective-C,开发cydia Apps会容易吗?
如何在设备上安装cydia Apps?
【问题讨论】:
如何创建Cydia 应用程序以及如何将应用程序部署到Cydia App 商店?
我熟悉Objective-C,开发cydia Apps会容易吗?
如何在设备上安装cydia Apps?
【问题讨论】:
对于那些在 2021 年提出这个问题的人:
为 Cydia 构建应用程序与为 App Store 构建应用程序相同。您可以使用 Xcode,制作您的应用程序,然后将其打包到 .deb 文件中。
可能 OP 想问的是如何进行调整。这需要:
Cydia(以及现在的 Zebra、Sileo、Installer 5 等)遵循标准的 Debian 软件包格式。因此,一旦你为你的调整编译了Mach-O 二进制文件,你需要将它打包到一个DEB 文件中,其中包含一个描述调整的control 文件。
Cydia Tweak DEB 控制文件如下所示:
Package: com.geosn0w.iSecureOS
Name: iSecureOS
Depends: firmware (>= 11.0)
Version: 1.17
Architecture: iphoneos-arm
Description: An iOS Security Application for Jailbroken units.
Maintainer: GeoSn0w (@FCE365)
Author: GeoSn0w (@FCE365)
Section: Utilities
Icon: https://isecureos.idevicecentral.com/repo/Files/iSecureOS/iSecureOS.png
Depiction: https://isecureos.idevicecentral.com/repo/Files/iSecureOS/iSecureOS.html
SileoDepiction: https://isecureos.idevicecentral.com/repo/sileo/isecureos.json
这是我的一个调整中的一个活生生的例子。建议在文件中填充所有字段。这些将在安装调整时由 Cydia 解析。
除此之外,您的 DEBIAN 文件夹可以包含一个 postinst 文件供您进行调整。这将在安装后立即运行脚本或更多脚本。如果您需要在系统上设置任何内容,例如权限、文件夹、来自网络的资源等等,请执行此操作。
postinst 文件示例:
#!/bin/bash
echo GeoSn0w is preparing the File System...
chown root:wheel /Applications/iSecureOS.app/iSecureOS
chmod 6755 /Applications/iSecureOS.app/iSecureOS
echo Successfully prepared File System.
在这种情况下,我在文件系统上给了调整适当的权限,否则我的调整将无法在启动时获得 root 权限,它需要它们。
并非所有调整都需要postinst 脚本。
关于如何构建这些调整,iPhone Dev Wiki 有一篇很棒的文章介绍了如何开始。
通常情况下,您将有一个 .xm 文件用于您的调整,如下所示:
%hook SBApplicationIcon
-(void)launch{
UIAlertView* __launchView = [[[UIAlertView alloc] init] autorelease];
__launchView.title = @"Hello";
__launchView.message = @"This is an allert";
[__launchView addButtonWithTitle:@"Dismiss"];
[__launchView show];
}
%end
%hook 告诉tweak 在哪里注入自己,%end 标志着tweak 的结束。在这两者之间,您可以添加您的方法和代码来覆盖 iOS 方法的默认行为。请参阅以下文档,因为该主题相当大且复杂。
要回答一个常见问题,不,你现在不能用 Swift 编写越狱调整。仅在 Objective-C 中。
文档:
【讨论】:
为了开发 Cydia 的调整(或者只是针对一般的越狱设备),您需要在 Mac、Windows、Linux 甚至设备本身上安装 Theos。有关所有详细信息,请参阅this 页面。
【讨论】:
Theos 最初是“iphone-framework”,该项目旨在简化 iOS 设备(主要是越狱设备)的命令行构建代码。后来它经历了重大变化并成为 Theos,这是一个灵活的基于 Make 的构建系统,主要用于越狱软件开发,但也完全支持构建其他支持的平台。 Theos 可以在 macOS、iOS、Linux 和 Windows(在 Cygwin 或 Linux 的 Windows 子系统下)运行并且可以构建项目。
【讨论】:
首先,您需要一个越狱设备。 此外,您将需要拥有许多 ios 设备或拥有它们的朋友,因为如果您真的想这样做,并且您的第一个 cydia 是一个应用程序,它会崩溃并搞砸一切。作为开发人员,您可能看起来不太好。其次不这样做会很容易,因为苹果不希望你这样做,所以甚至在你的第一个应用程序完成之前,你可能需要几个月或几年的时间。至于部署它们,你需要从源安装并且不能只需将它们放在“Cydia Appstore”中即可。
【讨论】: