在iOS中使用自定义字体的阿拉伯文字

我正在使用自定义阿拉伯字体来处理需要显示阿拉伯文字的应用程序。 问题是,我没有任何运气显示使用阿拉伯语字体的阿拉伯文字。 我试图在UILabel,UITextField,UITextView,UIWebView,FontLabel(由Zynga)和使用CoreText显示文本。 你可以在这里find示例项目: 使用UILabel,UITextField,UITextView和CoreText的示例应用程序 使用UIWebView的示例应用程序(HTML) 使用UIWebView(HTML)的示例应用程序:您必须在示例项目中安装字体。 然后,您可以比较结果,并通过在模拟器(或iPad)中运行应用程序并在浏览器(Safari)中打开Sample.html文件来查看问题。 我已经在苹果的开发者论坛上发布了一些细节,但是我总是发现stackoverflow比苹果的官方开发者论坛更加活跃。 以下是该post的链接: 在iOS中使用自定义阿拉伯字体 What am i doing wrong? 注:字体正确加载到系统中,并且我可以成功地将自定义字体应用于常规(英文)文本。 PS有几个关于这个主题的stackoverflow的post,但没有任何帮助,所以我发布一个新的问题。

为什么SKStoreReviewController不让我提交评论?

我成功实现了SKStoreReviewController 。 但是,当提示出现时,“提交”button是灰色的,禁用。 我以为是因为我处于debugging模式,但是当我用Ad-Hoc PP发送应用程序时,结果是一样的。 为什么?

拉到刷新不工作在iOS WebView

我已经在iOS中实现了一个简单的WKWebView 。 var refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: Selector("refreshWebView"), forControlEvents: UIControlEvents.ValueChanged) 这是在viewDidLoad() 和相应的refreshWebView函数。 但是当我在手机或模拟器上运行它,无论我拖动多less,都没有拉动刷新动作。 没有什么是触发的,它几乎感觉就像我卡在屏幕的上限。 哪里可以出错?

我如何保持用户的iPhone的显示?

所以,我正在寻找一种方法来保持用户的iPhone显示在一个时钟应用程序。 我发现[UIApplication sharedApplication].idleTimerDisabled = YES; 但是保持设备始终locking。 我试图[UIApplication sharedApplication].idleTimerDisabled = NO; 当应用程序进入后台,但这是行不通的。 在我的应用程序正在运行时,如何安全地保持用户设备的睡眠状态?

Swift:IOS7设备上的核心数据 – > entityForName上的第二个实体是零

我已经使用Xcode 6 beta 2testing了一个小型的iPhone项目。该项目使用核心数据访问数据模型中的两个实体(用户/合同)。 在IOS模拟器内一切正常。 问题:当我为IOS7构build应用程序并在我的iPhone5s(运行IOS 7.1.1)上testing应用程序时,程序只能将数据保存到第一个实体中(如核心数据模型= User中所定义的)。 对于所有其他实体,NSEntityDescription.entityForName(…)是“nil”。 在managedObjectModel(println(managedObjectModel))中包含了所有实体。 似乎IOS7上的SQL数据库中包含的数据模型不正确? 有没有人有解决scheme/想法? 谢谢 :-) var myAppDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate var myContext:NSManagedObjectContext = myAppDel.managedObjectContext println(NSEntityDescription.entityForName("User", inManagedObjectContext: myContext)) println(NSEntityDescription.entityForName("Contract", inManagedObjectContext: myContext)) var newContract:AnyObject = NSEntityDescription.insertNewObjectForEntityForName("Contract", inManagedObjectContext: myContext) newContract.setValue("" + txtContract.text, forKey: "contractName") myContext.save(nil) var newUser = NSEntityDescription.insertNewObjectForEntityForName("User", inManagedObjectContext: myContext) newUser.setValue("" + txtUsername.text, forKey: "userName") newUser.setValue("" + […]

iOS:GPPSignInButton总是要求“有离线访问”权限

我已经基于以下设置了GPPSignInButton: https://developers.google.com/+/mobile/ios/sign-in#enable_server-side_api_access_for_your_app let googleSignIn = GPPSignIn.sharedInstance() googleSignIn.clientID = GoogleClientID googleSignIn.attemptSSO = true googleSignIn.homeServerClientID = GoogleServerClientID googleSignIn.scopes = ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.profile.emails.read"] googleSignIn.delegate = self googleSignInButton.colorScheme = kGPPSignInButtonColorSchemeLight googleSignInButton.style = kGPPSignInButtonStyleWide 当用户第一次idToken时,它会要求正确的权限,并返回转发给服务器的idToken ,并交换access_token / refresh_token。 但是,在调用GPPSignIn.sharedInstance().signOut()之后,再次login将总是要求“有离线访问”权限。 我已经通读了其他一些SOpost,其中大多数引用了URL参数“approval_prompt”和“access_type”。 鉴于我正在使用iOS SDK,我没有能力设置这些参数。 应用程序在networking视图中路由到的url是: https://accounts.google.com/o/oauth2/auth?gpsdk=1.7.1&audience=<server-client-id>&response_type=code&verifier=94014002&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.profile.emails.read&gpbtn=1.1&hl=en&redirect_uri=<redirect_uri>&client_id=<client-id>&state=702574 我在服务器端有相同的范围(“login”和“电子邮件”),我不知道我需要做什么,所以它并不总是要求权限离线访问。

与字体手提箱的iPhone自定义字体

我正尝试在iOS4应用程序中使用字体手提箱来定制字体,但是没有任何成功。 我已经阅读了其他已经logging如何使用自定义字体的文章,所以已经将手提箱复制到我的项目中,并将其添加到资源和应用程序数组提供的Info.plist'字体,并尝试在Interface Builder和在代码中。 但它不工作! 我发现有关自定义字体的所有示例都显示使用ttf或otf文件,但与手提箱没有任何关系。 可以这样做吗? 如果不是,我怎样才能从Font Book中得到一些可以用作自定义字体的文件结构?

核心数据不保存可转换的NSMutableDictionary

我有两个类:configuration文件和configuration。 configuration文件包含Config对象的NSSet。 Profile和Config都是NSManagedObject子类。 @interface Profile : NSManagedObject @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSSet *configs; – (void)print; @end 这是Config类 @interface Config : NSManagedObject @property (nonatomic, retain) NSString * otherdata; @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSMutableDictionary *myDict; @property (nonatomic, retain) Profile *profile; – (void)print; @end 字典myDict有NSString *键和值。 现在,当我对myDict进行任何更改时,我调用NSManagedObject保存方法,并且没有错误地正常工作。 只要我不杀应用程序,一切都按预期行事。 […]

可以使用UILocalNotification来唤醒处于后台的任务

我想知道,如果有可能以某种方式“唤醒”在后台的任务,快速检查networking上的东西..我认为这可以用UILocalNotification完成,但是,无论我尝试了什么,当应用程序在后台时,我无法得到didReceiveLocalNotification做任何事情。启动后,我立即通过按Homebuttonclosures应用程序(本地通知发生延迟10秒)。 这个代码工作完美,当应用程序在前台,只是坐在那里… 在应用程序委托头文件中: UILocalNotification *localNotif; 为了testing,我设置了本地通知,在appDelegate启动时快速启动。 localNotif = [[UILocalNotification alloc] init]; localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:10]; // the date you want the notification to fire. localNotif.timeZone = [NSTimeZone defaultTimeZone]; [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; NSLog(@"setup the timer for 10 seconds"); – (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { UIApplicationState state = [application applicationState]; NSLog(@"getting kicked"); if (state == UIApplicationStateInactive) { […]

AutoLayout:UIView中的UIView有不正确的框架

我正在使用故事板中的AutoLayout,并且一切似乎都很顺利。 但是,当我把一个UIView放在另一个里面,并且把所有的约束都应用到容器和它的子viewDidLayoutSubviews: ,我注意到这个框架在viewDidLayoutSubviews:是不正确的。 我不希望根据我的限制来计算这个框架,而是一些令人厌恶的大框架(尽pipe是在正确的起源)。 例如,而不是{{26,10},{444,10}}的框架,我得到了{{0,0},{320,568}} 。 奇怪的是, 这只发生在孩子UIView,当我把它放在另一个UIView,有一些约束适用于它的超视图(这是视图控制器的视图)。 由于我的印象是,根据我在viewDidLayoutSubviews:方法中的约束,我可以期待我的观点得到适当的布置viewDidLayoutSubviews:我很困惑,为什么会发生这种情况。 我做了什么不正确的假设? 如果有人能帮助我指出正确的方向,我将不胜感激。 谢谢! 注意:如果我在viewDidAppear:执行了正确的依赖于框架的设置,这个问题就完全解决了,但是这对我来说是一个不太令人满意的解决方法。