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有什么变化吗?
我正在开发一个iPhone应用程序,它使用HTTP请求从Web服务器获取引用数据.
我正在与另一位管理Web服务的开发人员合作.我们使用MD5加密(简单xor)在iPhone和Web服务器之间传递数据.
他今天早上向我提出了一个问题,坦率地说,这是我的知识库.
"苹果二元有多安全?"
他担心是否有人可以通过iTunes获取.app包,然后解码该包并直接访问我的源代码,允许他们获取我们用于编码数据的密钥.
我个人,甚至不知道从哪里开始,但我确信那里有更多知识渊博/狡猾的人.
那么,有可能吗?如果是的话,我该怎样做才能安全地保护我的来源?
我想在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?或者如果我在代码中做错了什么?
我有一个问题,我似乎无法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) 我知道这似乎是一个重复的问题,但我已经查看了与此相关的堆栈溢出的每一个问题,我仍然收到以下错误:
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 ..
我已按照教程进行身份验证;
我正在尝试使用以下代码进行身份验证;
[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) 好的,所以我从在线数据源中提取给定邮政编码的地址列表.请求向我发送了一个数组数组的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'.
iphone ×3
ios ×2
objective-c ×2
binary ×1
catransition ×1
cocoa ×1
dealloc ×1
facebook ×1
icloud ×1
ios6 ×1
libxml2 ×1
nsstring ×1
retain ×1
secret-key ×1
string ×1
three20 ×1
ttnavigator ×1
uidocument ×1
xcode ×1