我们可以在通用(iPhone,iPad)应用程序中共享控制文件吗?

时间:2011-04-23 05:31:48

标签: iphone objective-c ipad

我开发了一个univarsal应用程序,(iPhone,iPad)。但后来我试图让它们成为sepret,所以我将我的文件夹复制到另一个目录中,然后将我的iPhone的控制文件与iPad的XIB相关联,并将它们委托给Outlets,(我的控制文件保留在iPhone文件夹中,我只是在iPad中链接它们) )之后我从这个文件夹中删除了iPhone XIB。

现在我的项目工作正常,但是只有我首先执行iPhone版本(即使是从那个不同的目录),然后执行我的iPad版本,因为它共享iPhone的构建文件

但是当我尝试执行它时(在从模拟器中删除先前安装的版本之后),它不起作用,因为它在抛出以下异常后终止。

2011-04-23 10:56:01.831 Tuscany[1837:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
*** Call stack at first throw:
(
0   CoreFoundation                      0x01683be9 __exceptionPreprocess + 185
1   libobjc.A.dylib                     0x014785c2 objc_exception_throw + 47
2   CoreFoundation                      0x0163c628 +[NSException raise:format:arguments:] + 136
3   CoreFoundation                      0x0163c59a +[NSException raise:format:] + 58
4   Foundation                          0x000d6b12 -[NSURL(NSURL) initFileURLWithPath:] + 90
5   Foundation                          0x000d6aa0 +[NSURL(NSURL) fileURLWithPath:] + 72
6   Tuscany                             0x0003572c -[SplashScreenViewController readyPlayer] + 77
7   Tuscany                             0x00035a62 -[SplashScreenViewController viewDidLoad] + 296
8   UIKit                               0x003e865e -[UIViewController view] + 179
9   UIKit                               0x0035e026 -[UIWindow addRootViewControllerViewIfPossible] + 51
10  UIKit                               0x0035d511 -[UIWindow _setHidden:forced:] + 303
11  UIKit                               0x0035d301 -[UIWindow _orderFrontWithoutMakingKey] + 50
12  UIKit                               0x0a2ac110 -[UIWindowAccessibility(SafeCategory) _orderFrontWithoutMakingKey] + 56
13  UIKit                               0x0035bfb5 -[UIWindow makeKeyAndVisible] + 39
14  Tuscany                             0x00003205 -[AppDelegate_iPad application:didFinishLaunchingWithOptions:] + 1472
15  UIKit                               0x0033b1fa -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
16  UIKit                               0x0033d55e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
17  UIKit                               0x00347db2 -[UIApplication handleEvent:withNewEvent:] + 1533
18  UIKit                               0x00340202 -[UIApplication sendEvent:] + 71
19  UIKit                               0x00345732 _UIApplicationHandleEvent + 7576
20  GraphicsServices                    0x01ce3a36 PurpleEventCallback + 1550
21  CoreFoundation                      0x01665064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
22  CoreFoundation                      0x015c56f7 __CFRunLoopDoSource1 + 215
23  CoreFoundation                      0x015c2983 __CFRunLoopRun + 979
24  CoreFoundation                      0x015c2240 CFRunLoopRunSpecific + 208
25  CoreFoundation                      0x015c2161 CFRunLoopRunInMode + 97
26  UIKit                               0x0033cfa8 -[UIApplication _run] + 636
27  UIKit                               0x0034942e UIApplicationMain + 1160
28  Tuscany                             0x00002b30 main + 102
29  Tuscany                             0x00002ac1 start + 53
)
    terminate called after throwing an instance of 'NSException'

这里要提一下,我已经努力使用我正在建立连接的线路,并且当我先执行iPhone版本然后再执行iPad时,我告诉相同的代码正常运行。

所以请跟我说吧,

谢谢

1 个答案:

答案 0 :(得分:1)

它说的是什么。

在readyPlayer方法中,您尝试为fileUrlWithPath方法赋予nil值。

您需要检查路径为零的原因。