大家好,我一直在进行这项调整,大部分工作已经完成。我唯一记得的就是在我的偏好包中添加一个捐赠按钮。我已经创建了一个带有标签和操作的单元格,我只需要知道如何为操作分配 url 以及需要在哪里放置分配代码。我是否将其放在我的tweak.xm 中?在一个单独的plist 中?请帮忙,非常感谢。
您可以在设置包中的单独文件中实施您的操作。最好使用theos提供的preference_bundle模板。 关于URL,你可以看一下NotiQuiet的代码示例。 我已经测试了 openURL 方法,虽然这个文件是 8 个月前写的,但它仍然有效。
在Resources/NotiQuiet.plist中,声明了该操作:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<!-- Irrelevant cells omitted -->
<dict>
<key>action</key>
<string>followOnTwitter</string>
<key>cell</key>
<string>PSLinkCell</string>
<key>icon</key>
<string>Twitter.png</string>
<key>label</key>
<string>PREFS_TWITTER</string>
</dict>
</array>
<key>title</key>
<string>NotiQuiet</string>
</dict>
</plist>
在ADNQListController.m中,实现了该方法:
- (void)followOnTwitter {
if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"tweetbot:"]]) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tweetbot:///user_profile/thekirbylover"]];
} else if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"tweetings:"]]) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"tweetings:///user?screen_name=thekirbylover"]];
} else if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"twitter:"]]) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"twitter://user?screen_name=thekirbylover"]];
} else {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://twitter.com/intent/follow?screen_name=thekirbylover"]];
}
}
有关详细信息,https://theapplewiki.com/wiki/Dev:Preferences_specifier_plist 总是有帮助的。