我正在尝试创建一个基本的OS X Framework,现在我只创建了一个测试框架:TestMacFramework.framework
我正在尝试将其导入到一个全新的OS X应用程序项目中.
我已经构建了.framework文件并将其导入到新项目中.框架似乎链接好了,我可以引用我添加到框架构建阶段部分的公共头文件.
但是,当我尝试运行容器应用程序时,我得到以下错误:
dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
经过一段谷歌搜索后,我意识到我需要在Copy Files
容器应用程序构建阶段添加一个部分,所以我已经完成了这个并将其设置为......
但是,我仍然遇到运行时错误.我显然在这里做错了,但Apple开发人员库资源引用了Xcode 2,所以不是很有帮助!
我错过了什么?
更新:
我可以在构建日志中看到我TestMacFramework.framework
被复制到.app内容/框架目录中,但它没有安装到HD上的Library/Frameworks目录中
更新2:
如果我手动将其复制TestMacFramework.framework
到Library/Frameworks
目录中,则构建链接正确
我希望能够复制整个Xcode项目,重命名项目和相关文件,而不需要Xcode,不需要手动将所有文件重新导入到项目中.
我在Xcode中有一个子项目,它创建一个由父项目引用的静态库.一直都很好,直到iOS 7.1和Xcode 5.1发布,我突然收到以下警告.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: -dynamic not specified the following flags are invalid: -ObjC
warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/libsqlite3.0.dylib is a dynamic library, not added to the static library
Run Code Online (Sandbox Code Playgroud)
有人知道我需要做些什么来修复这个警告吗?
所以我有几个Xcode机器人设置和每晚运行,他们已经成功构建了几个星期,但我不知道Xcode服务器自动安装Xcode 5.1更新,现在我在xcode构建中得到以下日志错误安慰...
2014-03-14 03:02:16.022 xcodebuild[37984:100b] [MT] DVTDeviceSearch: Searching for device with type 'iOS Simulator', options: {
OS = "7.0";
name = "iPhone Retina (4-inch)";
}, genericOnly: NO allowMultiple:NO timeout:0.000000
2014-03-14 03:03:16.148 xcodebuild[37984:100b] [MT] DVTDeviceSearch: No devices located: Error Domain=DVTDeviceErrorDomain Code=6 "The requested device could not be found because no available devices matched the request." UserInfo=0x7ff0e5f481b0 {NSLocalizedDescription=The requested device could not be found because no available devices matched the request.}.
xcodebuild: error: Was unable to find a destination matching the arguments …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现application:didRegisterUserNotificationSettings:
App Delegate方法来尝试识别我是否被允许向iOS 8中的用户发送本地通知.以下是我想要实现的那种事情,但这显然是不正确的方式走吧.
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
if (notificationSettings.types /*How do i check which types are contained */) {
NSLog(@"Allowed");
} else {
NSLog(@"Not Allowed");
}
}
Run Code Online (Sandbox Code Playgroud) 这是一个"最佳实践"问题,我似乎无法在网上找到一个好的答案.我正在创建一个静态代码库,它提供了几种委托方法,用于进行反馈等.
库管理它自己的队列,所以下载的内容显然不是在主线程上完成的,但我的问题是我应该确保我的委托方法总是在主线程上调用,还是可以从排队的线程中调用它我在用?并依赖于使用该库的开发人员,如果他想在我的委托方法中进行UI更新,则检查他是否在主线程上?
干杯,山姆
我的代码中存在内存泄漏问题,我需要快速连续获取许多URL,每个GET都受到前一个GET结果的影响.目的是在响应中查找特定内容.
我发现最简洁的方法是递归地实现它,因为我可以使用相同的方法来确定响应中是否存在所需的值.功能上它非常好用,但它会泄漏内存,如下所述.我也以迭代的方式实现了相同的功能,这也泄漏了内存.
在我看来,似乎NSURLSession
API负责泄漏这个内存,它只发生在很快连续多次调用时.但是,如果有人能指出我正在犯的任何明显错误,我将不胜感激.
2014年9月14日更新:
更新以添加递归计数器,即使代码未执行无限次,也可以证明泄漏仍然存在.还略微整理了实现,在视图控制器中重新使用NSURLSession
和NSURLSessionConfiguration
作为属性.
示例代码:
- (void)performURLCallRecursive {
recursionLimiter++;
if (recursionLimiter > 10) {
[self.session finishTasksAndInvalidate];
return;
}
NSURL * checkURL = [NSURL URLWithString:@"http://www.google.com"];
__block NSMutableURLRequest * urlRequest = [[NSMutableURLRequest alloc] initWithURL:checkURL
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:0.0f];
__weak typeof(self) weakSelf = self;
NSURLSessionDataTask * task = [self.session dataTaskWithRequest:urlRequest
completionHandler:^(NSData *data, NSURLResponse *response, NSError
*error) {
NSString * body = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Body: %@", body);
[weakSelf performURLCallRecursive];
}];
[task resume];
}
#pragma mark - Getters …
Run Code Online (Sandbox Code Playgroud) 在以前版本的xcode中,您可以将图像文件设置为可本地化的文件,并为不同的区域设置导入不同的图像文件.
我似乎无法使用Xcode 5中的新XCAssets功能来实现这一点.有没有办法在xcassets结构中执行此操作?或者我必须将图像作为单独的文件导入.
我正在使用它UIActivityViewController
在一些iOS应用程序中显示共享表.iOS 7引入了一种新类型UIActivity
:UIActivityTypeAirDrop
.
这被声明为UIActivity.h
文件中的extern字符串...基本上我试图从我的共享表中排除空投类型,这一切都运行正常,但是这个代码集需要向后兼容以前版本的iOS.
我知道要检查一个我可以使用的方法,respondsToSelector:
但有没有类似的方法我可以用来检查字符串是否被声明,或者我应该使用开启系统版本?(这绝不是一个正常的好方法)
ios uiactivityviewcontroller ios7 airdrop uiactivitytypeairdrop
因此,在更新到OS X Server 3.1(Build 13S4138)后,我们的Xcode Build Web界面只返回一个空白页面.我确信一切都设置正确,因为空白页面的来源显示了很多元数据,所以我们的DNS路由是正确的.
任何人都可以理解这一点,或者遇到过这个问题并设法解决它?
这是我看到的xcode构建Web界面曾经是空页面的来源:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="x-apple-config-DisableAllActivityView" content="false"/>
<meta name="x-apple-config-DisableAllPeopleView" content="false"/>
<meta name="x-apple-config-DisableAllProjectsView" content="false"/>
<meta name="x-apple-config-MaxAttachmentFileSize" content="524288000"/>
<meta name="x-apple-config-RecordSearchStats" content="false"/>
<meta name="x-apple-route" content="/app-context/xcode/?.*"/>
<meta name="x-apple-service-gitweb-enabled" content="true"/>
<meta name="x-apple-service-webauth-enabled" content="true"/>
<meta name="x-apple-service-xcode-enabled" content="true"/>
<meta name="x-apple-sessionID" content="96b228e9-0541-4577-a3f1-62c927871fca"/>
<meta name="x-apple-user-blogGUID" content="bd0df023-315e-4cea-bdbc-f333560a945b"/>
<meta name="x-apple-user-can-create-bots" content="true"/>
<meta name="x-apple-user-can-create-projects" content="true"/>
<meta name="x-apple-user-externalID" content="7FAEA168-A97E-4CA0-84A6-43374FEA6016"/>
<meta name="x-apple-user-guid" content="07d15a1c-c07f-44a9-adc5-936d0cd5e966"/>
<meta name="x-apple-user-is-admin" content="true"/>
<meta name="x-apple-user-isBlogEnabled" content="false"/>
<meta name="x-apple-user-logged-in" content="true"/>
<meta name="x-apple-user-longName" content="Admin"/>
<meta name="x-apple-user-shortName" content="administrator"/>
<meta name="x-apple-user-tinyID" content="S203R9"/>
<meta name="x-apple-username" content="administrator"/> …
Run Code Online (Sandbox Code Playgroud) ios ×7
xcode ×4
objective-c ×2
xcode-bots ×2
xcode5 ×2
airdrop ×1
build-error ×1
delegates ×1
dyld ×1
frameworks ×1
image ×1
ios7 ×1
ios8 ×1
localization ×1
macos ×1
memory-leaks ×1
nsurlsession ×1
permissions ×1
queue ×1
recursion ×1