我目前正在使用iOS 5 SDK试图开发我的应用程序.我正在尝试将NSString作为一个属性,然后在.m文件中合成它(之前我已经完成了这个,没有任何问题).现在,我遇到了这个问题:"语义问题:属性的合成getter遵循Cocoa命名约定来返回'拥有'对象."
这是我的代码:.h
@interface ViewController : UIViewController {
NSString *newTitle;
}
@property (strong, nonatomic) NSString *newTitle;
Run Code Online (Sandbox Code Playgroud)
.M
@synthesize newTitle;
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决这个问题?谢谢!!
variables properties objective-c ios5 automatic-ref-counting
所以我正在开始一个新的NSThread,我希望以后可以通过调用来使用它performSelector:onThread:....根据我的理解,调用方法将该调用添加到该线程上的runloop,因此在下一次迭代时,它将弹出所有这些调用,然后调用它们,直到没有任何东西可以调用.所以我需要这种功能,一个空闲的线程准备工作,我可以调用它.我当前的代码如下所示:
- (void)doInitialize
{
mThread = [[NSThread alloc] initWithTarget:self selector:@selector(runThread) object:nil];
[mthread start];
}
- (void)runThread
{
NSAutoReleasePool *pool = [[NSAutoReleasePool alloc] init];
// From what I understand from the Google machine is that this call should start the
// runloop on this thread, but it DOESN'T. The thread dies and is un-callable
[[NSRunLoop currentRunLoop] run];
[pool drain];
}
- (void)scheduleSomethingOnThread
{
[self performSelector:@selector(hardWork) onThread:mThread withObject:nil waitUntilDone:NO];
}
Run Code Online (Sandbox Code Playgroud)
但是线程没有保持活动状态,performSelector:onThread没有做任何事情.我该怎么做正确的方法?
我正在使用未本地化的字符串并低于警告
面向用户的文本应使用本地化的字符串宏
如何抑制此警告?
我正试图通过统一记录(os_log)从我的应用程序中退出一些
这是日志的初始化:
var osLog : OSLog = OSLog(subsystem: "com.test.testapp", category: "native-tester")
Run Code Online (Sandbox Code Playgroud)
以下是我如何使用它:
os_log("iOS App initialized successfully!", log: osLog, type:.info)
Run Code Online (Sandbox Code Playgroud)
正常调试应用程序时,日志会在控制台输出上正确显示,但是当我查看设备控制台时(在"设备和模拟器"窗口中显示),我根本看不到它们.
本文说您应该配置系统以使用调试日志
sudo log config --mode "level:debug" --subsystem com.test.testapp
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有什么不同.我猜这是因为我正在配置mac来查看日志,而不是iPad.
如何在设备控制台中查看os_log中的ipad/iphone日志?
我CFPlugin用于10.5上的上下文菜单和图标覆盖(相同scplugin).对于我的应用程序和查找程序之间的通信,我正在使用distributed object.在Contextual menu items文件夹中安装我的插件后,我的系统拒绝重启/关闭/注销.在活动监视器中,我无法退出查找程序,只有强制退出正在查找查找程序.在控制台上我得到10.5.8
ERROR | -[ApplicationManager(AppleEventHandling) _tryQuitAllForRequestor:replyEvent:] | _tryQuitAllForRequestor - _vproc_set_global_on_demand returned error -1805620379
Run Code Online (Sandbox Code Playgroud)
如果没有Finder和我的应用程序之间的通信,系统重启/关闭/注销工作正常.
在10.5.4
loginwindow[41]: ERROR | WSActivateApp | SetFrontProcess({0, 7980956}) returned error -600. Unable to activate process.
loginwindow[41]: ERROR | -[ApplicationManager(AppleEventHandling) _tryQuitAllForRequestor:replyEvent:] | _tryQuitAllForRequestor - _vproc_set_global_on_demand returned error -1780878507
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
编辑
我的问题解决了.我NSAppleScript用来执行苹果脚本.现在我正在使用NSTask,我的系统重启/关闭/注销工作正常.有人可以解释一下这个原因吗?
我有一个Threaded应用程序,其中有一个NSMutableArray,包含NSManagedObjects,现在我希望我的数组可以被任何线程一次访问一次.那么我如何同步该数组,或者可以将锁定机制放在其上.
提前致谢 ...
我正在尝试使用AppleScript设置Messages.app聊天窗口的位置.
tell application "System Events"
set position of window 1 of application "Messages" to {100, 100}
end tell
Run Code Online (Sandbox Code Playgroud)
使用此代码我收到一个错误:
error "Messages got an error: Can’t set «class posn» of window 1 to {100, 100}."
number -10006 from «class posn» of window 1
Run Code Online (Sandbox Code Playgroud)
那是什么意思?
如果我使用Finder尝试相同的代码,它可以工作.但是大多数其他应用程序都不起作用.
OS X 10.10 Yosemite引入了Finder Sync扩展.我在将这些集成到现有项目时遇到了麻烦.我有一个现有的组件,我希望扩展生活.此组件不通过应用商店分发,并且General-> Settings下的"Identity - > Signing"设置为"None"
在Build Settings下,我有以下内容:
我阅读了一些有关在应用程序商店之外分发应用程序的信息,但没有提及有关配置文件的任何信息.
当我使用Xcode 6.1 beta 2模板创建Finder Sync扩展目标时,它会将其设置为None的"General - > Identity - > Signing",就像父组件一样.构建设置具有以下内容:
但是,当我构建时,它会说:
"找不到匹配的配置文件"
"此产品类型必须使用配置文件构建,但未找到与"开发者ID应用程序:[团队帐户]"标识匹配的配置文件.Xcode可以通过从成员中心下载新的配置文件来解决此问题.
在构建应用扩展时是否有新的配置配置文件要求?我应该使用不同类型的证书吗?
我在App Extension Programming Guide中找到了这个有趣的片段:
要提供OS X应用程序扩展,建议您将包含的应用程序提交到App Store,但这不是必需的.
注意:如果您在Mac App Store之外分发OS X应用程序扩展,Gatekeeper会阻止扩展程序运行,直到用户打开并批准包含该应用程序.此外,如果使用除开发者ID之外的证书对签名进行编码,则用户必须明确覆盖Gatekeeper以打开包含的应用程序以使您的扩展可用.
Debug,Profile和Test Your App Extension部分中的另一个相关代码段:
注意:您必须对包含的应用及其包含的应用扩展程序进行代码签名.
Xcode项目中的所有目标都必须以相同的方式进行代码签名.例如,在测试期间,您可以使用临时代码签名或使用开发人员证书,但必须对项目中的所有目标使用相同的方法.要提交到App Store,请使用您的分发证书来获取所有目标.
我在nib load(NSWindowController)时在OS X 10.9控制台上收到警告.
Invalid color System, labelColor (warning given only once)
Run Code Online (Sandbox Code Playgroud)
我正在使用Xcode 6和OS X 10.10来编译我的代码.很可能这个警告是因为NSColor在10.10中为静态文本和相关元素公开了新的系统颜色:labelColor,secondaryLabelColor,tertiaryLabelColor和quaternaryLabelColor.
如何修复此警告?
我正在开发一个应用程序,我已经发送给一些beta测试人员.在启动应用程序的短短几分钟内,用户就崩溃了.当窗口加速说应用程序崩溃时,他复制了详细信息部分中的所有文本并通过电子邮件发送给我.我已将文本保存为纯文本文件,并为其指定了.crash扩展名,这使得它可以像常规崩溃报告一样通过控制台打开,所以我认为我的扩展名是正确的(但可能没有).我发出的版本是由Xcode和Archive选项构建的,因此Xcode知道app和.dSYM的位置.我知道使用iPhone应用程序,您可以将崩溃报告拖到组织者,Xcode将为您进行符号化.我无法找到任何需要Mac崩溃报告的地方.我已经看了,atos但它讨论了内存位置,包括应用程序运行的位置,我没有看到报告中列出的信息.看一下原始崩溃报告,它看起来像是一个早期发布的视图控制器,但我无法确定这是原因还是症状.我真正的问题是; 有没有办法让Xcode符号化报告或工具,我可以直接移交.dSYM文件,应用程序和报告并获取符号化报告?我看过谷歌,但我发现的一切(除了前面提到的手册页atos)都是关于iPhone报告的象征,而不是Mac OS X的报告.
objective-c ×7
cocoa ×5
macos ×3
xcode ×3
applescript ×2
finder ×2
iphone ×2
appleevents ×1
code-signing ×1
debugging ×1
foundation ×1
ios ×1
ios5 ×1
locking ×1
logging ×1
macos-carbon ×1
nsrunloop ×1
nstextfield ×1
nsthread ×1
properties ×1
swift ×1
variables ×1
xcode8 ×1
xib ×1