Jump to content

Framework not found preferences- another preference compiling thread


Go to solution Solved by i0s_tweak3r,

6 posts in this topic

Recommended Posts

Posted (edited)

Sorry to start a new thread but I searched and my problem was exactly the same as in this thread-https://iosgods.com/topic/41545-ld-warning-directory-not-found-for-option/

Since the thread was marked solved/ answered I'm guessing that's possibly why no one has offered a solution to my comment asking for help.

I made a tweak with a preference bundle before on my iOS 9.3 device, but keep getting this error when trying to make the preference bundle/ entire package (for my newest tweak) on my iOS 10 device.  I copied project to my iOS 9.3 device but still get same error...

	Stripping NoLockScreenCam...
	Signing NoLockScreenCam...
Making all in nolockscreencam...
Making all for bundle NoLockScreenCam...
 Copying resource directories into the bundle wrapper...
 Compiling NoLockScreenCam.mm...
 Linking bundle NoLockScreenCam...
ld: framework not found Preferences
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [obj/NoLockScreenCam.bundle/NoLockScreenCam.64873355.unsigned] Error 1
Updated by i0s_tweak3r
Posted
Just now, Pro said:

Show me your Makefile in the pref bundle folder

	include theos/makefiles/common.mk
ARCHS = armv7 armv7s arm64
export ARCHS = armv7 armv7s arm64
export TARGET = iphone:clang:9.0:10.0
	BUNDLE_NAME = NoLockScreenCam
NoLockScreenCam_FILES = NoLockScreenCam.mm
NoLockScreenCam_INSTALL_PATH = /Library/PreferenceBundles
NoLockScreenCam_FRAMEWORKS = UIKit
NoLockScreenCam_PRIVATE_FRAMEWORKS = Preferences
	include $(THEOS_MAKE_PATH)/bundle.mk
	internal-stage::
    $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END)
    $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/NoLockScreenCam.plist$(ECHO_END)
	

Posted
Just now, i0s_tweak3r said:

 


	include theos/makefiles/common.mk
ARCHS = armv7 armv7s arm64
export ARCHS = armv7 armv7s arm64
export TARGET = iphone:clang:9.0:10.0
	BUNDLE_NAME = NoLockScreenCam
NoLockScreenCam_FILES = NoLockScreenCam.mm
NoLockScreenCam_INSTALL_PATH = /Library/PreferenceBundles
NoLockScreenCam_FRAMEWORKS = UIKit
NoLockScreenCam_PRIVATE_FRAMEWORKS = Preferences
	include $(THEOS_MAKE_PATH)/bundle.mk
	internal-stage::
    $(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END)
    $(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/NoLockScreenCam.plist$(ECHO_END)
	

 

Seems like the Preference framework might be missing from your SDK? I'd recommend the 8.1 SDK from http://sdks.website

Posted (edited)
56 minutes ago, Pro said:

Seems like the Preference framework might be missing from your SDK? I'd recommend the 8.1 SDK from http://sdks.website

I tried that already.  Also checked SDK's for frameworks and it appears to be there for 9.0, 9.3 and 8.1.  Under theos/sdks/SDK version/system/library/privateframeworks/preferences right?  Also when I moved project to my 9.3 device, and changed makefile to target exactly the same as an old tweak with a pref bundle that works, it still got same error.

will try deleting the 8.1 SDK I have and redownloading though. I've read that worked for other ppl with same error.

 

Edit: Deleted my 8.1 SDK, redownloaded it, changed makefile target back to 8.1:10, and still get the same error.  

Updated by i0s_tweak3r
Tried suggestion- still getting error
  • Solution
Posted (edited)

Edit: Started project over and used Dida's handy template, then modified from there and finally got it.  Still have no idea why it didn't work b4.  I'll eventually figure it out. Just happy tweak is updated with pref bundle.

dXEnVPs.jpg

ok so i studied a tutorial on preference bundles, deleted my original bundle and followed tutorial pretty much exactly. Went to compile and got an error

Compiling Tweak.xm...
Tweak.xm:6:75: error: expected ']'
return  [ [ [ NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] value for key:key]  boolValue]; 

My code seems right in tweak.xm but maybe someone can see what's causing the compiling error?

Edit:Found compiling error. should be "valueForKey"....now i'm back to original error of it not finding preferences. Everything compiles just won't build the bundle...Arggg

Here is my tweak.xm file

	#define PLIST_PATH @"/var/mobile/Library/Preferences/prefbundle.plist"
	inline bool 
GetPrefBool(NSString *key)
{
return  [ [ [ NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] value for key:key]  boolValue];
}
	%hook SBPolicyAggregator
-(bool) _allowsCapabilityLockScreenCameraSupportedWithExplanation:(id*)arg1 {
if(GetPrefBool(@"kenabled")) {
return FALSE;
}
return %orig;
}
	//Begin hooking 2nd function in same class
-(bool) _allowsCapabilityLockScreenCameraWithExplanation:(id*)arg1 {
if(GetPrefBool(@"kenabled"))
{
return FALSE;
}
return %orig;
}
//end of 2nd hooked function
%end
//end of first hooked class
	
%hook SBLockScreenTestPluginSettings
-(bool) restrictCamera {
if(GetPrefBool(@"kenabled"))
{
return TRUE;
} 
return %orig;
} 
//end of 2nd hooked class
%end 
Updated by i0s_tweak3r
Used Dida's pref template and eventually got it to work.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines