我有一个工具栏,下面是代码; 我想添加一个显示"Tools"的图像,名为"toolsIcon.png".
以下是我的代码:
//BottomBar
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44);
[self.view addSubview:toolbar];
[toolbar release];
//TOOLBAR ITEMS
//button 1
UIBarButtonItem *tools = [[UIBarButtonItem alloc] initWithTitle:@"Tools" style:UIBarButtonItemStyleBordered target:self action:@selector(createToolView)];
[tools setTag:0];
//add the buttons to the toolbar
NSArray *buttons = [NSArray arrayWithObjects: tools,nil];
[toolbar setItems: buttons animated:YES];
//memory management for buttons - don't waste!
[tools release];
Run Code Online (Sandbox Code Playgroud) 我知道听起来这个问题有一个简单的答案,但是听我说.虽然UIStatusBar是子类UIView,但您不能使用该addSubview方法向其添加子视图,因为它不使用它.同样的道理UIStatusBarWindow.视图或窗口都没有viewcontroller,所以我无法以任何方式挂钩.
这是相关的代码部分.我在自己上调用addSubviews方法的行是问题,因为addSubviews它不是一种方法UIStatusBar.
#import <CoreGraphics/CoreGraphics.h>
@interface UIStatusBar : UIView
@end
%hook UIStatusBar
- (void)layoutSubviews {
//Round corners under status bar
CGFloat radius = 15;
CGRect wholeScreen = [[UIScreen mainScreen] bounds];
UIView *roundedCorners = [[UIView alloc] initWithFrame: CGRectMake(-radius, 20-radius, wholeScreen.size.width+2*radius, wholeScreen.size.height-20+2*radius)];
roundedCorners.layer.borderWidth = radius;
roundedCorners.layer.cornerRadius = 2*radius;
roundedCorners.layer.borderColor = UIColor.blackColor.CGColor;
roundedCorners.userInteractionEnabled = NO;
[self addSubView:roundedCorners];
}
%end
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以添加子视图吗?我试图这样做的原因是,只要状态栏被隐藏,我的roundedCorners视图也会被隐藏.每当状态栏被隐藏时我都可以隐藏它,但是由于不同的应用程序使用了许多不同的隐藏状态栏的方法,这些方法并不像我希望的那样有效.
我正在尝试安装越狱调整make package install但我从dpkg收到此错误:
dpkg-deb: file `/tmp/_theos_install.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /tmp/_theos_install.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/tmp/_theos_install.deb
make: *** [internal-install] Error 1
Run Code Online (Sandbox Code Playgroud)
所以据我所知,它无法理解.xz扩展名,但我不确定为什么要创建该文件.谢谢您的帮助.
我用theos做了一个功能齐全的调整,我需要在其中使用一个图像文件,获取图像的代码是正确的(在Xcode上测试).但图像不包含在最终的DEB文件中.
我有这个makefile:
SDKVERSION=6.0
include theos/makefiles/common.mk
include theos/makefiles/tweak.mk
TWEAK_NAME = MyTweak
MyTweak_FRAMEWORKS = Foundation CoreGraphics UIKit
MyTweak_FILES = Tweak.xm image.png
include $(THEOS_MAKE_PATH)/tweak.mk
Run Code Online (Sandbox Code Playgroud)
但是当我尝试编译时,我得到:
No rule to make target `obj/image.png.o', needed by `obj/MyTweak.dylib'. Stop.
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能包括它?
(抱歉语法错误,从iphone询问).
我是越狱开发的新手,但我有足够的iOS开发知识和经验.我真的很困惑如何开始编码我的想法.而且,我想坚持使用Xcode.我已经为越狱设置了所有必要的工具; 从theos开始到iOSOpenDev.另外,我已经下载了所有私有iOS框架.
我的想法:基本上我想要的是tableview为我的应用程序开发一个简单的用户界面,通过该用户界面,用户将能够更改设备中存在的应用程序的访问设置.为此,我需要做的主要事情是:
获取设备中存在的所有应用标识符和名称.
解决应用启动事件以控制应启动哪个应用.
以root身份运行我的应用.
现在我的问题:
1-这可以通过正常的Xcode项目访问私有框架来完成,或者我需要使用NIC(New Instance Creator)生成的项目吗?或者有任何这样的iOSOpenDev模板可以帮助我创建这样的调整?
2-如果没有xcode,我该如何开始发展我的想法?
3-我该如何开始?
请指导我.任何链接,建议将不胜感激.谢谢.
我最近一直在进行越狱调整,并且刚刚使用普通文本编辑器进行所有操作,然后使用makefile(THEOS)进行编译和安装.我之前尝试过使用iOSOpenDev但不喜欢它,因为在我的项目中我通常有多个子项目.例如,我有我的主调整项目,然后我也有一个首选项包和另一个调整作为主要调整的子项目.当我使用NIC.pl在另一个内部创建一个新项目时,它只添加以下行:
SUBPROJECTS += MY_SUBPROJECT_NAME_HERE
include $(THEOS_MAKE_PATH)/aggregate.mk
Run Code Online (Sandbox Code Playgroud)
到主项目的makefile,然后子项目与主项目一起编译和安装.我从来没有能够使用iOSOpenDev,因为我从来没有弄清楚如何使用iOSOpenDev获得此功能.如何使用iOSOpenDev创建多个子项目?
谢谢!
我有以下类,我正在挂钩,我试图弄清楚如何挂钩和设置m_proxyPort.我可以毫无问题地阅读它,但如果我想改变它怎么样?
有3个NSString ivars的setter,但没有m_proxyPort的setter,想知道是否有办法设置ivar?
@interface DDURLProtocol : NSURLProtocol <NSURLAuthenticationChallengeSender, DDURLProtocolHttpAdapterDelegate>
{
int m_proxyPort;
NSString *_proxyHost;
NSString *_proxyUsername;
NSString *_proxyPassword;
}
%hook DDURLProtocol
- (void) check
{
[self setProxyHost:@"127.0.0.1"];
int pp = MSHookIvar<int>(self, "m_proxyPort");
NSLog(@"proxyPort: %d", pp);
// How to set m_proxyPort????
}
%end
Run Code Online (Sandbox Code Playgroud) 我想将 iOS AWS 框架(特别是 S3 功能)添加到我正在构建的 Mobile Substrate 调整中。不幸的是,我一生都无法弄清楚如何让它发挥作用。我尝试将以下内容添加到我的 Makefile 中,但没有成功:
xxxxx_CFLAGS += -I./External/
Run Code Online (Sandbox Code Playgroud)
或者
xxxxx_LDFLAGS += -l./External/AWSS3.framework
Run Code Online (Sandbox Code Playgroud)
框架、Core 和 S3 位于 ./External 目录中。无论我尝试什么,我总是收到以下错误:
fatal error: 'AWSS3/AWSS3.h' file not found
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助。谢谢!
我想在我的 theos 逆向工程项目中使用 SVProgressHUD(无论是 .a 还是 .framework)。
我试图将标题放在 /opt/theos/inlcude 中,并将 .framework 文件放在 /op/theos/lib 中
并在 makefile 文件中添加 EXTRA_FRAMEWORK += SVProgressHUD。
它可以毫无问题地编译。但它以某种方式不起作用。
任何的想法?
我正在制作一个 MobileSubstrate 插件,它应该:a) 挂钩特定类/类的实例方法和 b) 根据包含对象的应用程序的包 ID(它是 UIResponder 子类,以请明确点)。
关于如何实现这一点的任何建议?