小编Nat*_*ate的帖子

处理Xcode中的私有框架≥7.3

使用Xcode 7.3/iOS 9.3 Apple从iOS SDK中删除了所有私有框架.出于研究目的(不是App Store!),我需要使用私有框架(即BluetoothManager.framework,这也是任何其他私有框架的问题).

因为这些框架不再在iOS SDK中提供,所以如果我的项目尝试显式链接到此框架,则会出现构建(链接器)错误.

对于长期(呃) - 期限解决方案的任何想法?

xcode iphone-privateapi ios ios9.3

16
推荐指数
1
解决办法
6952
查看次数

如何使用私有API在IOS 5.1中打开/关闭飞行模式

我正在尝试使用私有框架在IOS 5.1中打开/关闭飞行模式.

在AppSupport.framework中,RadiosPreferences有一个属性来获取/设置飞行模式并设置值

./AppSupport.framework/RadiosPreferences.h:

@property BOOL airplaneMode;
Run Code Online (Sandbox Code Playgroud)

./AppSupport.framework/RadiosPreferences.h:

- (void)setAirplaneMode:(BOOL)arg1;
Run Code Online (Sandbox Code Playgroud)

我该如何使用这些方法?我是否需要以dlsym某种方式使用创建对象并调用方法?有人可以帮我提供示例代码或方法.

iphone iphone-privateapi ios

14
推荐指数
1
解决办法
5117
查看次数

如何更改iOS应用程序的权利?

我需要运行以下代码来关闭我的iPhone屏幕.

在iOS6上:

void (*BKSDisplayServicesSetScreenBlanked)(BOOL blanked) = (void (*)(BOOL blanked))dlsym(RTLD_DEFAULT, "BKSDisplayServicesSetScreenBlanked");
Run Code Online (Sandbox Code Playgroud)

然后使用:

BKSDisplayServicesSetScreenBlanked(1); // 1 to dim, 0 to undim
Run Code Online (Sandbox Code Playgroud)

它不起作用.有人告诉我,我需要com.apple.backboard.client权利才能在我的iphone上运行.我不知道如何设置这些权利.我已经看到了几种设置权利的方法,但它们对我来说非常困惑,就像这一样.

是的,您需要对权利进行编码签名.但是,不,它不必与越狱手机上的Apple证书.您可以通过下载ldid可执行文件伪造代码签名,然后执行

cd MyAppName.app 
ldid -Sentitlements.xml MyAppName
Run Code Online (Sandbox Code Playgroud)

假设您的应用程序名为MyAppName,并且您创建了权利文件entitlements.xml.我相信这个权利文件对你有用,如果你伪造用ldid代码签名的话.

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
   <dict>
     <key>com.apple.backboard.client</key>
     <true/>
   </dict> 
</plist>
Run Code Online (Sandbox Code Playgroud)

即使使用上述方法,我在哪里放置上述权利文件?

xcode objective-c jailbreak entitlements ios

14
推荐指数
1
解决办法
9496
查看次数

iPhone SDK可以获取当前连接的Wi-Fi SSID吗?

在iPhone SDK中,我没有看到SCDynamicStore在Mac OS X上使用相同的内容来获取无线网络当前连接的SSID名称不可用.

有没有办法获得iPhone当前连接的SSID名称?

我看到一些应用程序这样做(AT&T的简易Wi-Fi一个)但我无法在iPhone SDK文档中找到它是如何完成的.私有或取消发布的方法可以作为概念证明(虽然我知道可能不会进入AppStore).

iphone wifi ios

13
推荐指数
2
解决办法
3万
查看次数

本地化iOS位置权限提示

我有一个本地化的应用程序,需要请求用户访问设备位置的权限.由于iOS 8的,这需要一个消息(定义Info.plist说明)为什么应用程序需要用户的位置.我使用这种技术成功地本地化了这条消息.我有一个InfoPlist.strings文件,其中包含密钥的外语条目NSLocationWhenInUseUsageDescription:

"NSLocationWhenInUseUsageDescription" = "Este aplicativo pode utilizar a sua localização para servir anúncios que são mais relevantes. Sua identidade não é transmitida com a localização.";
Run Code Online (Sandbox Code Playgroud)

这正确地定位了消息,解释了应用程序需要用户位置的原因.但是,当iOS显示包含此消息的警报视图时,警报的标题按钮未本地化:

在此输入图像描述

如何本地化警报的标题和按钮文本?

我知道如何为UIAlertView我手动显示的所有内容执行此操作,但此警报由系统(iOS)显示.

localization core-location ios info-plist

12
推荐指数
1
解决办法
4629
查看次数

我是否必须支持已越狱的iPhone?

我们距离将第一个应用程序提交到appstore还有几天的时间,昨晚我听到它在越狱设备上无法使用时感到震惊.我有几秒钟的设备,看到操作系统版本,并提供可用内存(36MB,我想这是低).

我应该关心吗?

据推测,越狱用户可以购买应用程序并撰写严厉的评论.如果是这样且越狱的iPhone很常见,那么iPhoneJB就成了我不得不支持的事实上的影子平台.

编辑

我得到了一些球场数据,听起来我应该关心新的事实上的影子平台.所以要么我可以尝试减少内存需求并交叉我的手指,或者拿出信用卡然后让我再用iPhone来越狱.

iphone jailbreak ios

11
推荐指数
3
解决办法
888
查看次数

HTTP在Android模拟器中不起作用

我试过多个HTTP类(HttpURLConnection,HTTPClient和其他人),但他们没有在模拟器上工作.然后我决定在我的手机上进行测试,效果很好!

那么如何修复Android模拟器的这种奇怪的行为,即HTTP类不起作用(浏览器可以工作)?他们崩溃了一个应用程序.

这是我的代码:

public static SimpleXML getResponse(String action, Map<String, String> params) {
     // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(action);

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(params.size());
        for(Map.Entry<String, String> heh : params.entrySet())
            nameValuePairs.add(new BasicNameValuePair(heh.getKey(), heh.getValue()));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        return SimpleXML.loadXml(response.getEntity().getContent());       

    } catch (ClientProtocolException e) {
        return null;
    } catch (IOException e) {
        return null; …
Run Code Online (Sandbox Code Playgroud)

android http

11
推荐指数
2
解决办法
1万
查看次数

为什么UIWebView不能放在UIScrollView中?

问题

有没有人知道在iOS上滚动视图内避免Web视图的技术原因(假设您愿意在Web视图中禁用滚动视图)?

如果您查看UIWebView的Apple文档,他们会说:

重要提示:您不应在UIScrollView对象中嵌入UIWebView或UITableView对象.如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能混淆和错误处理.

我的受过教育的猜测

看起来他们可能会警告你不要在另一个滚动视图中放置滚动视图,因为内部和外部滚动视图之间的触摸可能会混淆.

但是,有一个非常有效的理由想要UIWebView在滚动视图中放置一个.Web视图不仅仅是滚动视图.UIWebView可以轻松显示各种网页内容.

如果没有必要让滚动UIWebView本身,您关闭与任一滚动:

webView.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

要么

webView.scrollView.scrollEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

那么这个设计真的有问题吗?

我想知道这是否部分是原始UIWebView界面的工件,它没有给你直接(和记录)访问其嵌入式UIScrollView(以便能够轻松地禁用其滚动).也许Apple文档中的这句话是遗产吗?

项目背景

我问,因为我正在维护一个应用程序(由其他人编写),它在滚动视图中使用少量Web视图,允许在它们之间水平滚动.Web内容必须被视为已修复(不可更改),并且每个HTML页面仅显示一页内容.用户需要能够在页面之间滚动,因此为此选择了多个UIWebViews内部UIScrollView.到目前为止,似乎它可能正常工作.

但是,页面显示全屏图像,滚动性能是一个问题.但是,我试图确定滚动视图中的Web视图的基本嵌套(Apple警告说)是否真的是问题的一部分.

uiwebview uiscrollview uikit ios

11
推荐指数
1
解决办法
1万
查看次数

iphone以编程方式重启

我有代码

system("reboot") 
Run Code Online (Sandbox Code Playgroud)

reboot命令在终端中有效,但即使我以root身份运行应用程序,操作仍会被拒绝.有没有人找到任何有效的方法,或者可以解释一下SBSetting的重启,这让我很好奇?

reboot objective-c jailbreak ios

10
推荐指数
2
解决办法
2万
查看次数

水平滚动和TextField错误

我创建了一个CustomTextField,当我输入的文本超出了使用Horizo​​nalFieldManager的TextField的宽度时向左滚动但是现在的问题是如果我用鼠标右键单击并滚动它继续到不适当的长度但不停止到我输入的最后一个字这里有什么问题?这是一个错误

我只需要在它到达最后一个单词时禁用Horizo​​ntalScrolling它应该能够在单词中最后一个单词的开头和结尾之间滚动

看看代码

import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FocusChangeListener;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.XYEdges;
import net.rim.device.api.ui.XYRect;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.VerticalFieldManager;
import net.rim.device.api.ui.decor.Border;
import net.rim.device.api.ui.decor.BorderFactory;


public class CustomTextField extends VerticalFieldManager {
    private int textWidth=0;
    private int textHeight=0;
    private BasicEditField basicEditField;
    private HorizontalFieldManager hfm;
    //Border border;

    public CustomTextField(int width,int height) {
        super();
        textWidth=width;
        textHeight=height;
        //border=BorderFactory.createSimpleBorder(new XYEdges(1, 1, 1, 1)); 


        hfm=new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL){
            protected void sublayout(int maxWidth, int maxHeight) {
                super.sublayout(maxWidth, maxHeight);
                setExtent(textWidth, textHeight);
            }
        };  
        basicEditField=new BasicEditField("","",200,BasicEditField.NO_NEWLINE);
        //basicEditField.setBorder(border);

        hfm.add(basicEditField);
        add(hfm); …
Run Code Online (Sandbox Code Playgroud)

java customization blackberry textfield

10
推荐指数
1
解决办法
846
查看次数