Search Results

Search found 24765 results on 991 pages for 'iphone developer'.

Page 455/991 | < Previous Page | 451 452 453 454 455 456 457 458 459 460 461 462  | Next Page >

  • how do you make a "concurrent queue safe" lazy loader (singleton manager) in objective-c

    - by Rich
    Hi, I made this class that turns any object into a singleton, but I know that it's not "concurrent queue safe." Could someone please explain to me how to do this, or better yet, show me the code. To be clear I want to know how to use this with operation queues and dispatch queues (NSOperationQueue and Grand Central Dispatch) on iOS. Thanks in advance, Rich EDIT: I had an idea for how to do it. If someone could confirm it for me I'll do it and post the code. The idea is that proxies make queues all on their own. So if I make a mutable proxy (like Apple does in key-value coding/observing) for any object that it's supposed to return, and always return the same proxy for the same object/identifier pair (using the same kind of lazy loading technique as I used to create the singletons), the proxies would automatically queue up the any messages to the singletons, and make it totally thread safe. IMHO this seems like a lot of work to do, so I don't want to do it if it's not gonna work, or if it's gonna slow my apps down to a crawl. Here's my non-thread safe code: RMSingletonCollector.h // // RMSingletonCollector.h // RMSingletonCollector // // Created by Rich Meade-Miller on 2/11/11. // Copyright 2011 Rich Meade-Miller. All rights reserved. // #import <Foundation/Foundation.h> #import "RMWeakObjectRef.h" struct RMInitializerData { // The method may take one argument. // required SEL designatedInitializer; // data to pass to the initializer or nil. id data; }; typedef struct RMInitializerData RMInitializerData; RMInitializerData RMInitializerDataMake(SEL initializer, id data); @interface NSObject (SingletonCollector) // Returns the selector and data to pass to it (if the selector takes an argument) for use when initializing the singleton. // If you override this DO NOT call super. + (RMInitializerData)designatedInitializerForIdentifier:(NSString *)identifier; @end @interface RMSingletonCollector : NSObject { } + (id)collectionObjectForType:(NSString *)className identifier:(NSString *)identifier; + (id<RMWeakObjectReference>)referenceForObjectOfType:(NSString *)className identifier:(NSString *)identifier; + (void)destroyCollection; + (void)destroyCollectionObjectForType:(NSString *)className identifier:(NSString *)identifier; @end // ==--==--==--==--==Notifications==--==--==--==--== extern NSString *const willDestroySingletonCollection; extern NSString *const willDestroySingletonCollectionObject; RMSingletonCollector.m // // RMSingletonCollector.m // RMSingletonCollector // // Created by Rich Meade-Miller on 2/11/11. // Copyright 2011 Rich Meade-Miller. All rights reserved. // #import "RMSingletonCollector.h" #import <objc/objc-runtime.h> NSString *const willDestroySingletonCollection = @"willDestroySingletonCollection"; NSString *const willDestroySingletonCollectionObject = @"willDestroySingletonCollectionObject"; RMInitializerData RMInitializerDataMake(SEL initializer, id data) { RMInitializerData newData; newData.designatedInitializer = initializer; newData.data = data; return newData; } @implementation NSObject (SingletonCollector) + (RMInitializerData)designatedInitializerForIdentifier:(NSString *)identifier { return RMInitializerDataMake(@selector(init), nil); } @end @interface RMSingletonCollector () + (NSMutableDictionary *)singletonCollection; + (void)setSingletonCollection:(NSMutableDictionary *)newSingletonCollection; @end @implementation RMSingletonCollector static NSMutableDictionary *singletonCollection = nil; + (NSMutableDictionary *)singletonCollection { if (singletonCollection != nil) { return singletonCollection; } NSMutableDictionary *collection = [[NSMutableDictionary alloc] initWithCapacity:1]; [self setSingletonCollection:collection]; [collection release]; return singletonCollection; } + (void)setSingletonCollection:(NSMutableDictionary *)newSingletonCollection { if (newSingletonCollection != singletonCollection) { [singletonCollection release]; singletonCollection = [newSingletonCollection retain]; } } + (id)collectionObjectForType:(NSString *)className identifier:(NSString *)identifier { id obj; NSString *key; if (identifier) { key = [className stringByAppendingFormat:@".%@", identifier]; } else { key = className; } if (obj = [[self singletonCollection] objectForKey:key]) { return obj; } // dynamic creation. // get a class for Class classForName = NSClassFromString(className); if (classForName) { obj = objc_msgSend(classForName, @selector(alloc)); // if the initializer takes an argument... RMInitializerData initializerData = [classForName designatedInitializerForIdentifier:identifier]; if (initializerData.data) { // pass it. obj = objc_msgSend(obj, initializerData.designatedInitializer, initializerData.data); } else { obj = objc_msgSend(obj, initializerData.designatedInitializer); } [singletonCollection setObject:obj forKey:key]; [obj release]; } else { // raise an exception if there is no class for the specified name. NSException *exception = [NSException exceptionWithName:@"com.RMDev.RMSingletonCollector.failed_to_find_class" reason:[NSString stringWithFormat:@"SingletonCollector couldn't find class for name: %@", [className description]] userInfo:nil]; [exception raise]; [exception release]; } return obj; } + (id<RMWeakObjectReference>)referenceForObjectOfType:(NSString *)className identifier:(NSString *)identifier { id obj = [self collectionObjectForType:className identifier:identifier]; RMWeakObjectRef *objectRef = [[RMWeakObjectRef alloc] initWithObject:obj identifier:identifier]; return [objectRef autorelease]; } + (void)destroyCollection { NSDictionary *userInfo = [singletonCollection copy]; [[NSNotificationCenter defaultCenter] postNotificationName:willDestroySingletonCollection object:self userInfo:userInfo]; [userInfo release]; // release the collection and set it to nil. [self setSingletonCollection:nil]; } + (void)destroyCollectionObjectForType:(NSString *)className identifier:(NSString *)identifier { NSString *key; if (identifier) { key = [className stringByAppendingFormat:@".%@", identifier]; } else { key = className; } [[NSNotificationCenter defaultCenter] postNotificationName:willDestroySingletonCollectionObject object:[singletonCollection objectForKey:key] userInfo:nil]; [singletonCollection removeObjectForKey:key]; } @end RMWeakObjectRef.h // // RMWeakObjectRef.h // RMSingletonCollector // // Created by Rich Meade-Miller on 2/12/11. // Copyright 2011 Rich Meade-Miller. All rights reserved. // // In order to offset the performance loss from always having to search the dictionary, I made a retainable, weak object reference class. #import <Foundation/Foundation.h> @protocol RMWeakObjectReference <NSObject> @property (nonatomic, assign, readonly) id objectRef; @property (nonatomic, retain, readonly) NSString *className; @property (nonatomic, retain, readonly) NSString *objectIdentifier; @end @interface RMWeakObjectRef : NSObject <RMWeakObjectReference> { id objectRef; NSString *className; NSString *objectIdentifier; } - (RMWeakObjectRef *)initWithObject:(id)object identifier:(NSString *)identifier; - (void)objectWillBeDestroyed:(NSNotification *)notification; @end RMWeakObjectRef.m // // RMWeakObjectRef.m // RMSingletonCollector // // Created by Rich Meade-Miller on 2/12/11. // Copyright 2011 Rich Meade-Miller. All rights reserved. // #import "RMWeakObjectRef.h" #import "RMSingletonCollector.h" @implementation RMWeakObjectRef @dynamic objectRef; @synthesize className, objectIdentifier; - (RMWeakObjectRef *)initWithObject:(id)object identifier:(NSString *)identifier { if (self = [super init]) { NSString *classNameForObject = NSStringFromClass([object class]); className = classNameForObject; objectIdentifier = identifier; objectRef = object; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(objectWillBeDestroyed:) name:willDestroySingletonCollectionObject object:object]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(objectWillBeDestroyed:) name:willDestroySingletonCollection object:[RMSingletonCollector class]]; } return self; } - (id)objectRef { if (objectRef) { return objectRef; } objectRef = [RMSingletonCollector collectionObjectForType:className identifier:objectIdentifier]; return objectRef; } - (void)objectWillBeDestroyed:(NSNotification *)notification { objectRef = nil; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [className release]; [super dealloc]; } @end

    Read the article

  • Modifying UINavigation Bar Buttons in SubViews

    - by james
    I'm having trouble trying to modify the navigation bar in the subview portion of my application. self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(add_Clicked:)] autorelease]; I have no issues modifying the navigation bar in any of my UIViewControllers classes. The simplified application class outline is as such: AppDelegate - UIViewControllerA (has a left and a right navigationBarButton) - Subview is displayed when a SegmentControl is selected. (Within the subview, I'm trying to modify the right NavigationBarButton that is displayed) [self.view addSubview:newControllerName.view]; Methods I have attempted: Trying to set self.navigationItem.rightBarButtonItem within my subview to a new UIBarButtonItem. Creating a pointer to UIViewControllerA within my AppDelegate. The UIViewControllerA contains a function setNavButton I wrote to set the rightBarButtonItem to a button. Then I am referencing the AppDelegate's reference to UIViewControllerA and attempting to call setNavButton. I included a NSLog call to see if that function is being called and it is executing but the NavigationBar isn't being modified. I'm trying to avoid having to push a UIViewController after the SegmentControl is clicked in UIViewControllerA so that I can simulate the SegmentControl as tabs. I'm not getting any errors during compile or run time. Anyone have any ideas?

    Read the article

  • how to balance position of UIBarButtonItem in toolbar

    - by RAGOpoR
    is it possible to balance the position of button(example toolbar in Safari)? UIBarButtonItem *infoButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(support:)]; UIBarButtonItem *next = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(support:)]; [self.navigationController.toolbar setItems:[NSArray arrayWithObjects:infoButton, next,nil] animated:YES];

    Read the article

  • How to change rowHeight of a TableViewCell depending on Stringlength

    - by Jens Koehler
    I have a table with different entries, each with different length. The height of each row should fit, so it can show the whole string. I use the following code: //... cellForRowAtIndexPath if (row == 0) { cell = [tableView dequeueReusableCellWithIdentifier:@"affCell"]; //if (!cell) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"affCell"]autorelease]; cell.accessoryType = UITableViewCellAccessoryNone; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.autoresizingMask = UIViewAutoresizingFlexibleHeight; affL = [[UILabel alloc] initWithFrame:CGRectZero]; affL.textAlignment = UITextAlignmentLeft; affL.autoresizingMask = UIViewAutoresizingFlexibleHeight; [cell.contentView addSubview:affL]; //} //declaration label affL.text = [fDictionary objectForKey:@"aff"]; affL.numberOfLines = 0; [affL sizeToFit]; affL.frame = CGRectMake(15.0, 10.0, 220.0, affL.frame.size.height); CGFloat affLH = affL.frame.size.height; [tableView setRowHeight:affLH+30]; I also use //... heightForRowAtIndexPath return affL.frame.size.height; How can I fix this problem?

    Read the article

  • Why is UIControlTouchUpInside UNDEFINED?

    - by munchine
    I've got a simple question but it has got me confounded. The code below gets an UNDEFINED error for UIControlTouchUpInside. What do I need to include or import? If I comment out the line, it works. So that means forState:UIControlStateNormal is defined. I'm new so hope you can help. UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setTitle:@"Accept?" forState:UIControlStateNormal]; [button addTarget:self action:@selector(acceptTapped) forControlEvents:UIControlTouchUpInside];

    Read the article

  • Detecting UITableView scrolling

    - by Xeph
    Hi I've subclassed UITableView (as KRTableView) and implemented the four touch-based methods (touchesBegan, touchesEnded, touchesMoved, and touchesCancelled) so that I can detect when a touch-based event is being handled on a UITableView. Essentially what I need to detect is when the UITableView is scrolling up or down. However, subclassing UITableView and creating the above methods only detects when scrolling or finger movement is occuring within a UITableViewCell, not on the entire UITableView. As soon as my finger is moved onto the next cell, the touch events don't do anything. This is how I'm subclassing UITableView: #import "KRTableView.h" @implementation KRTableView - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; NSLog(@"touches began..."); } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesMoved:touches withEvent:event]; NSLog(@"touchesMoved occured"); } - (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent *)event { [super touchesCancelled:touches withEvent:event]; NSLog(@"touchesCancelled occured"); } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesEnded:touches withEvent:event]; NSLog(@"A tap was detected on KRTableView"); } @end How can I detect when the UITableView is scrolling up or down?

    Read the article

  • Loading Accessory callout view for mkannotationview

    - by Zap
    I have a map annotation view that contains a rightcallout button which loads an accessory view which is a UIViewController class. I am using resuable annotations, but am wondering how I can pass updated information to my UIViewController class. Let's say I have 2 string values which map to 2 UILabels on my view. How can I update those values after the initial accessory view has already been loaded into memory as a resusable view? Any help would be appreciated.

    Read the article

  • xml parsing + tablew view tutorial needed

    - by shishir.bobby
    Hi all, i am working on live XML arsing, i am able to parse xml and pass into array,but i am not able to set those values into table view, so if any 1 can provide me some guideline or some tutorials to set array data into table view,with xml parsing,it will be a great heklp for me. regard shishir

    Read the article

  • UINavigationController flashes white when I add it to a superview

    - by Chris Stamper
    Hey guys, I'm adding a NavigationController as a subview of my main view, with the flip animation (like a utility app/flipview thing). Here's how I'm doing it: [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:.7]; [UIView setAnimationTransition:([self.tableController.view superview] ? UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight) forView:self.tableHostView cache:YES]; [self.tableController.view removeFromSuperview]; settingsView* backView1 = [[settingsView alloc] initWithNibName:@"settingsView" bundle:nil]; backView1.delegate = self; UINavigationController* settingsNavStack = [[UINavigationController alloc]initWithRootViewController:backView1]; [backView1 release]; settingsNavStack.view.frame = CGRectMake(0, 0, 320, 460); settingsNavStack.navigationItem.title = @"Settings"; [self setBackView:settingsNavStack]; [settingsNavStack release]; [self.tableHostView addSubview:self.backView.view]; [[self backView]setDelegate: self]; When it loads, the view comes in very nicely. However, the navigation bar stays white until like .2 secs after the animation finishes. Anyone know why the navigation bar wouldn't display right away?

    Read the article

  • Memory Leak question

    - by franz
    I am having a memory leak issue with the following code. As much as I can tell I don't see why the problem persists but it still does not release when called. I am detecting the problem in instruments and the following code is keeping its "cards" classes alive even when it should had released them. Any help welcome. ... ... -(id)initDeckWithCardsPicked: (NSMutableArray*)cardsPicked andColors:(NSMutableArray*)cardColors { self = [self init]; if (self != nil) { int count = [cardsPicked count]; for (int i=0; i<count; i++) { int cardNum = [[cardsPicked objectAtIndex:i] integerValue]; Card * card = [[MemoryCard alloc] initWithSerialNumber:cardNum position: CGPointZero color:[cardColors objectAtIndex:i]]; [_cards addObject: card]; [card release]; } } return self; } - (id) init { self = [super init]; if (self != nil) { self.bounds = (CGRect){{0,0},[Card cardSize]}; self.cornerRadius = 8; self.backgroundColor = kAlmostInvisibleWhiteColor; self.borderColor = kHighlightColor; self.cards = [NSMutableArray array]; } return self; } ... ...

    Read the article

  • How to remove view from window?

    - by Wayfarer
    I am using Cocos2D for my main framework. In some cases, I want Cocos2D to load a nib file and have that be the view: window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; TargetPlayerViewController *myController = [[TargetPlayerViewController alloc]initWithNibName:@"TargetPlayerViewController" bundle:nil]; [window addSubview:[myController view]]; [window makeKeyAndVisible]; This works as expected, and shows the TargetPlayerViewController. Wonderful! What I need to know is: once that view has been loaded, how can I have the view remove itself? I've tried a few different ways, but all of them result in the program crashing. To test I have a button on the view set up which triggers this method: - (IBAction)GTFOnow:(id)sender { NSLog(@"GFTO"); window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //[self.view removeFromSuperview]; //[window makeKeyAndVisible]; } In this method the view should remove itself from the view so I can go back to the Cocos2D. How do I do this?

    Read the article

  • CATransitionFade not working on newly added subviews

    - by David Liu
    For some reason, fading in new buttons using CATransition isn't working for me when it's a newly added button. The fade animation, however, is working on existing subviews. Code: // Add new button. CATransition *animation = [CATransition animation]; [animation setDuration:0.5]; [animation setType:kCATransitionFade]; [[button layer] addAnimation:animation forKey:@"fadeIn"]; [self.view addSubview:button]; // Enable previous button (Enabling fades in different type of background) if(toolbar.buttons.count != 0){ UIButton * prevButton = [toolbar.buttons objectAtIndex:(toolbar.buttons.count - 1)]; prevButton.enabled = YES; [[prevButton layer] addAnimation:animation forKey:@"fadeIn"]; }

    Read the article

  • UIView transparency shows how the sausages are made!

    - by quixoto
    I have a UIView container that has two UIImageViews inside it, one partially obscuring the other (they're being composed like this to allow for occasional animation of one "layer" or another. Sometimes I want to make this container 50% alpha, so what the users sees fades. Here's the problem: setting my container view to 50% alpha makes all my subviews inherit this as well, and now you can see through the first subview into the second, which in my application has a weird X-Ray effect that I'm not looking for. What I'm after, of course, is for what the user currently sees to become 50% transparent-- the equivalent of flattening the visible view into one bitmap, and then making that 50% alpha. What are my best bets for accomplishing this? Ideally would like to avoid actually, dynamically flattening the views if I can help it, but best practices on that welcome as well. Am I missing something obvious? Since most views have subviews and would run into this issue, I feel like there's some obvious solution here. Thanks!

    Read the article

  • tableview - unrecognized selector sent to instance

    - by ct2k7
    Hi, I'v just got this error in my app. 2010-04-06 03:58:55.463 EasyPay DPS[6530:207] WARNING: Using legacy cell layout due to delegate implementation of tableView:accessoryTypeForRowWithIndexPath: in <NTItems: 0x397af90>. Please remove your implementation of this method and set the cell properties accessoryType and/or editingAccessoryType to move to the new cell layout behavior. This method will no longer be called in a future release. 2010-04-06 03:58:55.505 EasyPay DPS[6530:207] *** -[NTItems tableView]: unrecognized selector sent to instance 0x397af90 2010-04-06 03:58:55.515 EasyPay DPS[6530:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NTItems tableView]: unrecognized selector sent to instance 0x397af90' This error is extremely unuseful - where do I start in my code?

    Read the article

  • Help creating a predicate for use with filteredArrayUsingPredicate

    - by johnbdh
    I am trying to learn how to use predicates and so am trying to replace the following working code with filteredArrayUsingPredicate... [filteredLocations removeAllObjects]; for (NSString *location in locations) { NSRange range = [location rangeOfString:query options:NSCaseInsensitiveSearch]; if (range.length > 0) { [filteredLocations addObject:location]; } } Instead I am trying.... [filteredLocations removeAllObjects]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains %@", searchText]; [filteredLocations addObjectsFromArray: [locations filteredArrayUsingPredicate:predicate]]; I am not getting the same results with the predicate as I am with for loop rangeOfString. With the range of string for example searchText returns an 8 item array while with the same value returns only 2 with the predicate. Another example, hono will find honolulu in the locations array while it will not find anything using the predicate. As I understand it SELF represents the object object being evaluated ie. the locations array, so I think that is the correct syntax. Any help would be appreciated Thanks, John

    Read the article

  • How do I make a custom delegate protocol for a UIView subclass?

    - by timothy5216
    I'm making some tabs and I want to have my own delegate for them but when I try to send an action to the delegate nothing happens. I also tried following this tutorial: link text But it doesn't work for me :( Here is my code: TiMTabBar.h @protocol TiMTabBarDelegate; @interface TiMTabBar : UIView { id<TiMTabBarDelegate> __delegate; ... int selectedItem; ... } //- (id)init; - (id)initWithDelegate:(id)aDelegate; - (void)setSelectedIndex:(int)item; .. @property (nonatomic) int selectedItem; @property(assign) id <TiMTabBarDelegate> __delegate; .. ... @end @protocol TiMTabBarDelegate<NSObject> //@optional - (void)tabBar:(TiMTabBar *)_tabBar didSelectIndex:(int)index; @end TiMTabBar.m: #import "TiMTabBar.h" ... @interface NSObject (TiMTabBarDelegate) - (void)tabBar:(TiMTabBar *)_tabBar didSelectIndex:(int)index; @end @implementation TiMTabBar @synthesize selectedItem; @synthesize __delegate; ... /* - (id)init { ... return self; } */ - (id)initWithDelegate:(id)aDelegate; { //[super init]; __delegate = aDelegate; return self; } - (void)awakeFromNib { //[self init]; //[self initWithDelegate:self]; ... } - (void)setSelectedIndex:(int)item { selectedItem = item; if (self.__delegate != NULL && [self.__delegate respondsToSelector:@selector(tabBar:didSelectIndex:)]) { [__delegate tabBar:self didSelectIndex:selectedItem]; } ... if (item == 0) { ... } else if (item == 1) { ... } else if (item == 2) { ... } else if (item == 3) { ... } else if (item == 4) { ... } else { ... } } /* - (void)tabBar:(TiMTabBar *)_tabBar didSelectIndex:(int)index; { //[delegate tabBar:self didSelectIndex:index]; //if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(tabBar:didSelectIndex:)]) { //[delegate tabBar:self didSelectIndex:selectedItem]; //} NSLog(@"tabBarDelegate: %d",index); } */ @end The delegate only works works inside itself and not in any other files like: @interface XXXController : UIViewController <TiMTabBarDelegate> { ... ... IBOutlet TiMTabBar *tabBar; ... } ... @end XXXController.m: #import "XXXController.h" #import <QuartzCore/QuartzCore.h> @implementation XXXController - (void)viewDidLoad { [super viewDidLoad]; [self becomeFirstResponder]; ... tabBar = [[TiMTabBar alloc] initWithDelegate:self]; //tabBar.__delegate = self; ... } #pragma mark TiMTabBar Stuff - (void)tabBar:(TiMTabBar *)_tabBar didSelectIndex:(int)index; { NSLog(@"Controller/tabBarDelegate: %d",index); } @end None of this seems to work in XXXController. Anyone know how to make this work?

    Read the article

  • Programmatically select a tabbaritem in "More"

    - by Amit Vaghela
    I am using UITabbarController with 8 to 9 items (these are UINavigation controllers) It is easy to select an item programmatically using tabbarcontroller.selectedIdex = x; if x value is between 0 to 4 then it's work as expected but if it's greater than 4 then it's select "More" as a view controller. How can we programmatically select an item under "More" list ? any help would be appreciated.. Thanks in advance

    Read the article

  • CorePlot linker errors after upgrading iOS SDK

    - by JustinXXVII
    This seems like it's happened before but somehow ended up working itself out. It's happened again and I can't seem to get this fixed. I use the CorePlot Cocoa Touch framework. Everything was fine until I upgraded to the new 4.3 beta. Now my project won't compile, and is giving me linker errors for unknown symbols having to do with CorePlot. I've become a pro at adding the framework to my project, and I've checked and rechecked the instructions trying to do it again. Is there a button I can click or anything to just make this work again? I've used these instructions to try to re-add the framework, to no avail EDIT: By the way, this compiles just fine for simulator and runs graphs no problem. Compiling for the device gives me the linker errors, as follows: "_OBJC_CLASS_$_CPPlotRange", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPXYGraph", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPTextStyle", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPLineStyle", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPScatterPlot", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPAxisLabel", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPPlotSymbol", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPColor", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_OBJC_CLASS_$_CPFill", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o "_CPDecimalFromFloat", referenced from: -[GraphStatsWindow setNewGraph] in GraphStatsWindow.o -[iPadGraphView viewDidLoad] in iPadGraphView.o -[GraphTrendView setNewGraph] in GraphTrendView.o "_kCPPlainWhiteTheme", referenced from: -[GraphStatsWindow setNewGraph] in GraphStatsWindow.o -[iPadGraphView viewDidLoad] in iPadGraphView.o -[GraphTrendView setNewGraph] in GraphTrendView.o "_OBJC_CLASS_$_CPTheme", referenced from: objc-class-ref in GraphStatsWindow.o objc-class-ref in iPadGraphView.o objc-class-ref in GraphTrendView.o ld: symbol(s) not found for architecture armv7

    Read the article

  • OAuth secrets in mobile apps

    - by Felixyz
    When using the OAuth protocol, you need a secret string obtained from the service you want to delegate to. If you are doing this in a web app, you can simply store the secret in your data base or on the file system, but what is the best way to handle it in a mobile app (or a desktop app for that matter)? Storing the string in the app is obviously not good, as someone could easily find it and abuse it. Another approach would be to store it on you server, and have the app fetch it on every run, never storing it on the phone. This is almost as bad, because you have to include the URL in the app. I don't believe using https is any help. The only workable solution I can come up with is to first obtain the Access Token as normal (preferably using a web view inside the app), and then route all further communication through our server, where a script would append the secret to the request data and communicates with the provider. Then again, I'm a security noob, so I'd really like to hear some knowledgeable peoples' opinions on this. It doesn't seem to me that most apps are going to these lengths to guarantee security (for example, Facebook Connect seems to assume that you put the secret into a string right in your app). Another thing: I don't believe the secret is involved in initially requesting the Access Token, so that could be done without involving our own server. Am I correct?

    Read the article

< Previous Page | 451 452 453 454 455 456 457 458 459 460 461 462  | Next Page >