小编ita*_*ter的帖子

XCode 4:多个目标,多个资源具有相同名称的图像的文件夹与共享Xib一起使用?

我创建了一个具有特定功能和特定图形外观的应用程序.

例如,自定义tableview单元格从Xib文件加载并具有UIImageView作为背景图像,从资源组加载粉红色图像("customcell.png").

现在,我已经复制了原始Target以创建应用程序的蓝色版本.此外,新Target正在使用自己的Info.plist文件及其自己的包标识符.

我希望Xib文件中的UIImageView使用相同的文件名("customcell.png"),但如果构建了蓝色Target,则需要使用蓝色版本的customcell.png.

我知道你不能在项目中拥有同名文件,即使你把它放在一个组(黄色文件夹)中,因为那只是一个逻辑文件夹.

所以我创建了2个蓝色文件夹(称为"蓝色"和"粉红色"),每个文件夹都与正确的目标相关联.我在"blue"文件夹中添加了蓝色版"customcell.png",在"pink"文件夹中添加了粉红色版"customcell.png".

我从项目中删除了原始的"customcell.png",只留下了新文件夹中的2个副本.

在Interface Builder中,UIImageView变为空白(因为我删除了原始图像文件),所以我从下拉列表中再次选择了"customcell.png".它只显示该名称的1个文件(不是2个),而它是蓝色的(不知道为什么).

但是,当我构建到任何目标时,我得到一个空的UIImageView和一个警告:

无法加载标识符为"com.myapp.blueversion"的包中nib引用的"customcell.png"图像

(或粉红色)

所以,基本上我的问题是, 我如何使用具有相同名称的不同图像,与不同的目标相关联,但是有1个Xib文件可以适当地加载它们?

非常感谢你!

resources xcode target uiimageview xcode4

9
推荐指数
1
解决办法
3516
查看次数

身份验证后Facebook iOS SDK Feed对话框问题

我似乎遇到了Feed对话框的问题,我以前没有这个问题.我怀疑这是因为iOS 5,但我不确定.

如果用户需要身份验证,他将被重定向到Facebook应用程序,然后返回到我的应用程序.

然后,用户单击"共享"按钮,将显示 "提要"对话框.但突然,它消失了.

如果用户再次单击"共享",则提要对话框正常工作.这是第一次从认证返回应用程序后...

与"共享"按钮关联的代码就是这样:

if ([facebook isSessionValid]) {
   [facebook dialog:@"feed" andParams:params andDelegate:self];
}
Run Code Online (Sandbox Code Playgroud)

PARAMS变量总是被设置为正确的值,而不是零.如果会话无效,则将用户发送到身份验证方法.

我还尝试在FBDialog.m中注释掉一个IF语句,我已经在某处读过,但它没有成功.

有人经历过同样的问题吗?

谢谢!

编辑: 我很确定这是因为iOS 5现在,因为我已经在运行iOS 4.3的iPad 2上构建了项目,并且它从第一次开始工作正常.

编辑2: 它突然正常工作.......我没有改变任何东西O_O

facebook ios ios5 xcode4.2

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

以编程方式使 iOS 设备静音/静音?

我正在尝试从我的应用程序中静音设备的铃声,但出于某种原因,使用 AVSystemController 就像这个答案(如何禁用 iOS 系统声音)不会让我让设备一直静音..它会将其降低到音量为 1 bar,但并非完全静音。

我知道这是可以做到的,可能使用像 AVSystemController 这样的私有 API,而且我知道如果用户期望应用程序提供这种功能,Apple 仍然会批准该应用程序(因为我在 App Store 中已经找到了 2 个应用程序以编程方式使设备静音,无需越狱或类似操作)。

这些应用程序实际上做得更好 - 它们实际上切换了实际的静音,而不仅仅是将音量降低到零。

有谁知道这是怎么做的?

任何帮助将不胜感激!谢谢!

iphone mute ios ios5 avsystemcontroller

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

paymentQueue:updatedTransactions什么时候不应该被调用?

我在应用内购买时遇到了一个奇怪的问题......

在我请求产品信息后,有时会因某种原因自动调用paymentQueue:updatedTransactions.

在我的商店的viewDidLoad方法中,我初始化并启动请求:

- (void)viewDidLoad
{
    [super viewDidLoad];

    productsArray = [[NSArray alloc] init];

    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];

    NSSet *productIdentifiers = [NSSet setWithObjects:PRODUCT_ID, nil];
    productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
    productsRequest.delegate = self;
    [productsRequest start];
}
Run Code Online (Sandbox Code Playgroud)

然后我收到回复:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    productsArray = [[NSArray alloc] initWithArray:response.products];

    NSLog(@"Products Count: %d",[productsArray count]);
    NSLog(@"Invalid Products Count: %d",[response.invalidProductIdentifiers count]);

    if ([productsArray count] > 0)
    {
        NSLog(@"Product title: %@" ,[productsArray objectAtIndex:0]);
        [self hideLoadingView];


    } else {
        UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"No products found"
                                                            message:@"There might …
Run Code Online (Sandbox Code Playgroud)

iphone storekit in-app-purchase xcode4.2

4
推荐指数
1
解决办法
5779
查看次数