2
最近我一直在使用一個優秀的框架開發一個Cydia的調整(Theos by the great Dustin Howett),我想知道是否有任何方法可以在優化包中調整單元格。無論它是否需要私有API,因爲這是針對越獄環境。任何幫助,鏈接或引用非常感謝。我正在使用私人框架(Preferences.framework)
。如何灰顯ios設置包(PreferenceLoader)中的特定單元格?
最近我一直在使用一個優秀的框架開發一個Cydia的調整(Theos by the great Dustin Howett),我想知道是否有任何方法可以在優化包中調整單元格。無論它是否需要私有API,因爲這是針對越獄環境。任何幫助,鏈接或引用非常感謝。我正在使用私人框架(Preferences.framework)
。如何灰顯ios設置包(PreferenceLoader)中的特定單元格?
我沒有與我的越獄手機,所以我不能測試這個,但如果你看at the Preferences docs on iphonedevwiki,你會看到有一個標誌會灰色偏好項目(enabled
)。所以,你可能會使用的代碼塊在您的喜好plist文件是這樣的:如果你看一下the preference loader docs
<dict>
<key>cell</key>
<string>PSSwitchCell</string>
<key>default</key>
<true/>
<key>defaults</key>
<string>com.mycompany.myapp</string>
<key>key</key>
<string>wifi_location</string>
<key>label</key>
<string>WiFi Location</string>
<key>enabled</key>
<false/> <!-- gray out this item -->
</dict>
,你看,你也可以注入代碼到Preferences.app,這可能會讓你設置此標誌動態(可能需要如果你是調整一個不是你的應用程序)。
我會嘗試後對此進行測試,並希望,更新這個答案。
@SuperDev,對。如果你在plist文件中有' id SomeSpecifierId ',那麼你可能會得到與它相對應的'PSSpecifier'。或者,您可以遍歷所有說明符並查找正確的標籤。然後,在你的'PSSpecifier'實例中,使用'setProperty:forKey:'將'enabled'鍵的值(屬性)更改爲'NO'(或者'[NSNumber numberWithBool:NO]') –
Nate
我會這樣想,但查看API,'setProperty:'想要一個'id'值,所以它可能需要'[說明符setProperty:[NSNumber numberWithBool:NO] forKey:@「enabled」]'。我現在正在切換語言,不記得自動裝箱是否在Objective-C中工作:/ – Nate
@SuperDev,另外,我不清楚你是否自己創建了這個Preference Bundle,以供你的調整使用,或者您是否在調整已有應用程序或偏好套件的現有應用程序。這會影響你如何得到這個東西。但是,也許你已經弄清楚了這一部分,只需要知道要使用什麼代碼,只要你已經將你的**代碼**正確地掛接到Preferences.app中。 – Nate