小编Dan*_*ace的帖子

无法打开应用程序,因为缺少可执行文件

我有一个我已经开发了一段时间的应用程序.最近通过双击启动应用程序会显示一个对话框,显示"您无法打开应用程序RepoWatch,因为它可能已损坏或不完整."

通过打开./RepoWatch.app启动应用程序让我"无法打开应用程序,因为它的可执行文件丢失了."

我通常通过./RepoWatch.app/Contents/MacOS/RepoWatch启动应用程序只是出于习惯(工作正常),所以我不确定这种情况发生了多长时间,或者事先发生了什么变化.最可能的变化是我放入cp Info.plist ./RepoWatch.app/Contents/我的make文件以便版本Info.plist而不对.app包中的所有内容进行版本控制.

我多次查看Info.plist并且找不到任何错误.该文件使用Property List Editor打开,没有任何错误.从属性列表编辑器保存不会使文件"工作"(如果首先要责备它).

据我所知,权限看起来也很健全:

$ ls -l
./RepoWatch.app/Contents/Info.plist
-rw-rw-r--@ 1 dgrace  staff  789 Feb  1 23:20 ./RepoWatch.app/Contents/Info.plist
$ ls -l
/Applications/Adium.app/Contents/Info.plist
-rw-rw-r--  1 dgrace  staff 5750 Aug 21 15:41 /Applications/Adium.app/Contents/Info.plist
Run Code Online (Sandbox Code Playgroud)

我不知道下一步该尝试什么.

以下是Info.plist的内容(尽管在很长一段时间内没有真正改变):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>RepoWatch</string>
    <key>CFBundleIdentifier</key>
    <string>com.doomstick.RepoWatch</string>
    <key>CFBundleName</key>
    <string>RepoWatch</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.0</string>
    <key>LSMinimumSystemVersion</key>
    <string>10.6</string>
    <key>CFBundleVersion</key>
    <string>Beta26</string>
    <key>NSMainNibFile</key>
    <string>MainMenu</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c osx-snow-leopard

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

UINavigationBar topItem/items似乎是双弹出的

我正在管理自己的UINavigationBar.由于皮肤粗糙,我需要这样做.UINavigationController的文档警告说,当与UINavigationController一起使用时,对UINavigationBar进行外观设置存在限制.

我已经进行了大量的日志记录,从我能说的一切,推动UINavigationController中的"后退"按钮弹出两个项目而不是一个.我得到一个委托回调告诉我它正在删除逻辑项,但它实际上删除了那一个.

应该永远不会删除添加到awakeFromNib中的UINavigationController的项目.它由于某种原因被删除.

有两个相似的问题,但都没有令人满意的答案.这两个问题是:

UINavigationBar .items访问器不返回当前的UINavigationItem

UINavigationBar似乎在"背面"弹出2个项目

- (void)awakeFromNib {
    [headerView setDelegate: self];
    [headerView pushNavigationItem: tableDisplay animated: NO];
}

- (void) selectedStory: (NSNotification *)not {
    [headerView pushNavigationItem: base animated: NO];
    NSLog(@"Selected story: %@", base);
}

- (void) baseNav {
    NSLog(@"Current items: %@", [headerView items]);
    BaseInnerItem *current = (BaseInnerItem *)[headerView topItem];
    [self addSubview: [current view]];
}

- (BOOL)navigationBar: (UINavigationBar *)navigationBar shouldPushItem: (UINavigationItem *)item {
    return YES;
}

- (BOOL)navigationBar: (UINavigationBar *)navigationBar shouldPopItem: (UINavigationItem *)item {
    return YES;
}

- …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uinavigationbar uikit

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

此类型的mac计算机不支持该程序

我有一个刚进入测试版的软件.日语版的Mac OS X运行得很好,但德国beta测试人员收到的消息松散地转换为"无法运行程序,因为这种类型的Mac计算机不支持该程序".

它只是英特尔和10.6,但这是beta测试人员所拥有的.他告诉我错误不应该与本地化有关(.nib只是英文版,但实际上程序中没有文字可以说,而且他说英语),但是Mac并没有给我任何更多的信息.据我所知.

我知道这不是太多的信息,但我知道如何获得.

什么可能导致这类问题?我可以让我的Beta测试人员获得更多信息吗?

macos cocoa

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