小编Bon*_*geh的帖子

xcode更新后找不到#import <libxml/tree.h>文件

Lastnight我将我的iPhone更新到iOS 6.1,因为我需要最新的版本,我当前的xcode版本无法构建到手机上.

我从xcode 4.5.2到xcode 4.6,我在我的项目文件中做了0次更改.

用什么编译完全没问题,现在给我一个文件找不到错误

#import <libxml/tree.h> 'libxml/tree.h' file not found
Run Code Online (Sandbox Code Playgroud)

我正确地将我的搜索路径链接起来

$(SDKROOT)/usr/include/libxml2
Run Code Online (Sandbox Code Playgroud)

和libxml2在构建阶段是链接和必需的.

编辑:

奇怪的是我将搜索路径改为以下内容并且瞧..

/usr/include/libxml2
Run Code Online (Sandbox Code Playgroud)

不知道为什么这已经解决了这个问题,任何人都可以告诉我xcode有什么变化吗?

xcode libxml2 ios

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

苹果二进制文件的安全性如何(秘密密钥安全)

我正在开发一个iPhone应用程序,它使用HTTP请求从Web服务器获取引用数据.

我正在与另一位管理Web服务的开发人员合作.我们使用MD5加密(简单xor)在iPhone和Web服务器之间传递数据.

他今天早上向我提出了一个问题,坦率地说,这是我的知识库.

"苹果二元有多安全?"

他担心是否有人可以通过iTunes获取.app包,然后解码该包并直接访问我的源代码,允许他们获取我们用于编码数据的密钥.

我个人,甚至不知道从哪里开始,但我确信那里有更多知识渊博/狡猾的人.

那么,有可能吗?如果是的话,我该怎样做才能安全地保护我的来源?

iphone binary secret-key

5
推荐指数
1
解决办法
317
查看次数

在Three20中使用CATransition?

我想在TTNavigator中实现CATransitions,我知道方法openURL可以采用UIViewAnimationTransition,但只能让我翻转和卷曲动画,但是使用CATransition我可以访问另外8个,其中kCATransitionFromRight,kCATransitionFromLeft,kCATransitionFromTop,kCATransitionFromBottom是那些我特意追问.

使用UINavigationController会使用类似代码的东西来让我更好地控制动画:

    CATransition *transition = [CATransition animation];
    transition.duration = 0.5f;
    transition.timingFunction = [CAMediaTimingFunction
    functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionPush;
    [self.navigationController.view.layer addAnimation:transition
    forKey:nil];
Run Code Online (Sandbox Code Playgroud)

但是,此代码不适用于TTNavigator.有谁知道如何使用我自己的自定义动画来使用TTNavigator?或者如果我在代码中做错了什么?

iphone objective-c three20 ttnavigator catransition

3
推荐指数
1
解决办法
1287
查看次数

UIDocument永远不会调用dealloc

我有一个问题,我似乎无法dealloc UIDocument(在iCloud中使用)

运行NSMetaDataQuery后查找文件如下..

NSMetadataQuery *query = [[NSMetadataQuery alloc] init];
_query = query;
[query setSearchScopes:[NSArray arrayWithObject:
                        NSMetadataQueryUbiquitousDocumentsScope]];
NSPredicate *pred = [NSPredicate predicateWithFormat: 
                     @"%K == %@", NSMetadataItemFSNameKey, kFILENAME];
[query setPredicate:pred];
[[NSNotificationCenter defaultCenter] 
 addObserver:self 
 selector:@selector(queryDidFinishGathering:) 
 name:NSMetadataQueryDidFinishGatheringNotification 
 object:query];

[query startQuery];
Run Code Online (Sandbox Code Playgroud)

我处理我的查询

- (void)queryDidFinishGathering:(NSNotification *)notification {

NSMetadataQuery *query = [notification object];
[query disableUpdates];
[query stopQuery];

[[NSNotificationCenter defaultCenter] removeObserver:self 
                                                name:NSMetadataQueryDidFinishGatheringNotification
                                              object:query];

_query = nil;

[self loadData:query];

}
Run Code Online (Sandbox Code Playgroud)

然后加载或创建一个新文档.

- (void)loadData:(NSMetadataQuery *)query {

if ([query resultCount] == 1) {

    NSMetadataItem *item = [query resultAtIndex:0];
    NSURL *url = …
Run Code Online (Sandbox Code Playgroud)

retain dealloc ios icloud uidocument

3
推荐指数
1
解决办法
601
查看次数

Facebook SDK 3.1.1和iOS 6.1登录错误

我知道这似乎是一个重复的问题,但我已经查看了与此相关的堆栈溢出的每一个问题,我仍然收到以下错误:

Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. 
(com.facebook.sdk error 2.)" UserInfo=0x1ecbf8e0       
{com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason}
Run Code Online (Sandbox Code Playgroud)

这是NSError的整个NSLog ..

我已按照教程进行身份验证;

  • 在developers.facebook.com上,我已经将我的应用程序设置为Native iOS应用程序,并输入我的bundle id
  • 在我的info.plist中,我已经包含了URL类型>项目0> URL方案>项目0> fb123456和FacebookAppID = 123456,密钥.

我正在尝试使用以下代码进行身份验证;

[FBSession openActiveSessionWithReadPermissions:permissions
                               allowLoginUI:YES
                          completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
     [self sessionStateChanged:session state:state error:error];
 }];
Run Code Online (Sandbox Code Playgroud)

权限设置为nil.

我的app委托中也有以下设置

- (void)applicationDidBecomeActive:(UIApplication *)application
{
[FBSession.activeSession handleDidBecomeActive];
}

- (void)applicationWillTerminate:(UIApplication *)application
{
[FBSession.activeSession close];
}

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {
return [FBSession.activeSession handleOpenURL:url];
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBSession.activeSession handleOpenURL:url]; …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-ios-sdk ios6

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

麻烦在for循环中追加字符串(NSString)

好的,所以我从在线数据源中提取给定邮政编码的地址列表.请求向我发送了一个数组数组的JSON,在数组的第一层内是字符串数组.

这些包含例如.

Addressline1, Addressline2, Town, Country, Postcode
Run Code Online (Sandbox Code Playgroud)

我需要为每个地址添加所有这些字符串,这样我每个地址只有一个工作字符串.但是,有时@""阵列中有一个空白字段.

这是我的for循环.

    id object;
    NSString *startString = [NSString stringWithString:@"testStart:"];

    for (object in arrayContainingAddress) {

        NSString *useableString = [NSString stringWithFormat:@"%@", object];

        if (![useableString isEqualToString:@""]) {
            NSLog(@"%@", useableString);
            [startString stringByAppendingString:useableString];
            NSLog(@"%@", startString);
        }   

    }

    NSLog(@"%@", startString);
Run Code Online (Sandbox Code Playgroud)

问题是,startString总是以'testStart:'结尾注销,但useableString记录包含正确的地址,城镇等,for循环中的startString NSLog也只是注销为'testStart:'.

整个代码块都位于while循环中,该循环为每个地址切换适当数组的'arrayContainingAddress'.

"id对象"的原因是我的JSON转换有时会将值转换为NSNumbers(地址的第一行可能是门牌号,例如123),因此我在此处防止崩溃.

TLDR:在我的for循环中没有附加字符串'startString'.

string iphone cocoa objective-c nsstring

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